Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Static Protected Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity > Class Template Reference

#include <small_vector.h>

Inheritance diagram for PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >:
Inheritance graph
[legend]

Classes

struct  allocations_are_movable
 
struct  allocations_are_swappable
 
struct  bypass_tag
 
struct  is_emplace_constructible
 
struct  is_emplace_constructible_impl
 
struct  is_emplace_constructible_impl< void_t< typename std::enable_if< is_complete< V >::value >::type, decltype(std::declval< AI & >().construct(std::declval< V * >(), std::declval< Args >()...))>, AI, V, Args... >
 
struct  is_eraseable
 
struct  is_eraseable< AI, void_t< decltype(std::declval< AI & >().destroy(std::declval< value_ty * >()))> >
 
struct  is_explicitly_copy_insertable
 
struct  is_explicitly_move_insertable
 
struct  is_explicitly_nothrow_copy_insertable
 
struct  is_explicitly_nothrow_move_insertable
 
struct  is_nothrow_emplace_constructible
 
struct  relocate_with_move
 
class  stack_temporary
 
struct  strong_exception_policy
 

Public Types

using difference_type = typename allocator_interface< Allocator >::difference_type
 
using size_type = typename allocator_interface< Allocator >::size_type
 

Public Member Functions

template<unsigned I, typename ... MaybeAlloc>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (bypass_tag, const small_vector_base< Allocator, I > &other, const MaybeAlloc &... alloc)
 
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (bypass_tag, small_vector_base< Allocator, I > &&other) noexcept(std::is_nothrow_move_constructible< value_ty >::value||(I==0 &&I==InlineCapacity))
 
template<unsigned I, typename A = alloc_ty, typename std::enable_if< std::is_same< std::allocator< value_ty >, A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (bypass_tag, small_vector_base< Allocator, I > &&other, const alloc_ty &) noexcept(noexcept(small_vector_base(bypass, std::move(other))))
 
template<unsigned I, typename A = alloc_ty, typename std::enable_if<!(std::is_same< std::allocator< value_ty >, A >::value)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (bypass_tag, small_vector_base< Allocator, I > &&other, const alloc_ty &alloc)
 
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (const alloc_ty &alloc) noexcept
 
 small_vector_base (const small_vector_base &)=delete
 
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (ForwardIt first, ForwardIt last, std::forward_iterator_tag, const alloc_ty &alloc)
 
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (InputIt first, InputIt last, std::input_iterator_tag, const alloc_ty &alloc)
 
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (size_ty count, const alloc_ty &alloc)
 
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (size_ty count, const value_ty &val, const alloc_ty &alloc)
 
template<typename Generator >
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (size_ty count, Generator &g, const alloc_ty &alloc)
 
 small_vector_base (small_vector_base &&) noexcept=delete
 
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base (void) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR ~small_vector_base (void) noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR ptr allocate (size_ty n)
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR ptr allocate_with_hint (size_ty n, cptr hint)
 
constexpr PLUMED_GCH_NODISCARD cptr allocation_end_ptr (void) const noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr allocation_end_ptr (void) noexcept
 
constexpr PLUMED_GCH_NODISCARD cptr begin_ptr (void) const noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr begin_ptr (void) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&has_alloc_construct< A, V, Args... >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void construct (ptr p, Args &&... args) noexcept(noexcept(alloc_traits::construct(std::declval< alloc_ty & >(), std::declval< value_ty * >(), std::forward< Args >(args)...)))
 
template<typename U , typename std::enable_if< is_uninitialized_memcpyable< value_ty, U >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void construct (ptr p, U &&val) noexcept
 
constexpr PLUMED_GCH_NODISCARD alloc_ty copy_allocator (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD cptr data_ptr (void) const noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr data_ptr (void) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void deallocate (ptr p, size_ty n)
 
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr default_uninitialized_copy (InputIt first, InputIt last, ptr d_first)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr default_uninitialized_value_construct (ptr first, ptr last)
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy (ptr p) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy (ptr) const noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy_range (ptr first, ptr last) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP14_CONSTEXPR void destroy_range (ptr, ptr) const noexcept
 
constexpr PLUMED_GCH_NODISCARD cptr end_ptr (void) const noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr end_ptr (void) noexcept
 
constexpr PLUMED_GCH_NODISCARD size_ty get_capacity (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD size_ty get_size (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD bool has_allocation (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD bool is_inlinable (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD size_ty num_uninitialized (void) const noexcept
 
small_vector_baseoperator= (const small_vector_base &)=delete
 
small_vector_baseoperator= (small_vector_base &&) noexcept=delete
 
PLUMED_GCH_CPP20_CONSTEXPR void set_default (void)
 
constexpr PLUMED_GCH_NODISCARD cptr storage_ptr (void) const noexcept
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr storage_ptr (void) noexcept
 
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (ForwardIt first, ForwardIt last, ptr dest) noexcept
 
template<typename InputIt , typename std::enable_if< ! is_uninitialized_memcpyable_iterator< InputIt >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (InputIt first, InputIt last, ptr d_first)
 
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (std::move_iterator< ForwardIt > first, std::move_iterator< ForwardIt > last, ptr dest) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_fill (ptr first, ptr last)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_fill (ptr first, ptr last, const value_ty &val)
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_constructible< V >::value &&! must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_value_construct (ptr first, ptr last)
 

Static Public Member Functions

template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = true>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty external_range_length (ForwardIt first, ForwardIt last)
 
template<typename ForwardIt >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty external_range_length_impl (ForwardIt first, ForwardIt last, std::forward_iterator_tag)
 
template<typename RandomIt >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty external_range_length_impl (RandomIt first, RandomIt last, std::random_access_iterator_tag)
 
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty internal_range_length (cptr first, cptr last) noexcept
 
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void throw_range_length_error (void)
 
template<typename Pointer , typename std::enable_if< has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto to_address (const Pointer &p) noexcept -> decltype(std::pointer_traits< Pointer >::to_address(p))
 
static constexpr const value_tyto_address (const value_ty *p) noexcept
 
static constexpr value_tyto_address (value_ty *p) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_CPP17_CONSTEXPR void unchecked_advance (Iterator &pos, Integer n) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator unchecked_next (Iterator pos, Integer n=1) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator unchecked_prev (Iterator pos, Integer n=1) noexcept
 

Static Public Attributes

static constexpr struct PLMD::gch::detail::small_vector_base::bypass_tag bypass
 

Protected Types

using alloc_interface = allocator_interface< Allocator >
 
using alloc_traits = typename alloc_interface::alloc_traits
 
using alloc_ty = Allocator
 
template<bool B>
using bool_constant = std::integral_constant< bool, B >
 
using cptr = typename alloc_interface::cptr
 
using cvptr = typename alloc_traits::const_void_pointer
 
using diff_ty = typename alloc_interface::diff_ty
 
template<typename T >
using is_complete = typename alloc_interface::template is_complete< T >
 
template<typename ... Args>
using is_memcpyable = typename alloc_interface::template is_memcpyable< Args... >
 
template<typename ... Args>
using is_memcpyable_iterator = typename alloc_interface::template is_memcpyable_iterator< Args... >
 
using ptr = typename alloc_interface::ptr
 
using size_ty = typename alloc_interface::size_ty
 
using value_ty = typename alloc_interface::value_ty
 
template<typename ... >
using void_t = void
 
using vptr = typename alloc_traits::void_pointer
 

Protected Member Functions

PLUMED_GCH_CPP20_CONSTEXPR ptr append_copies (size_ty count, const value_ty &val)
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr append_element (Args &&... args)
 
template<typename MovePolicy = void, typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr append_range (ForwardIt first, ForwardIt last, std::forward_iterator_tag)
 
template<typename MovePolicy , typename InputIt , typename std::enable_if< std::is_same< MovePolicy, strong_exception_policy >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr append_range (InputIt first, InputIt last, std::input_iterator_tag)
 
template<typename MovePolicy = void, typename InputIt , typename std::enable_if< ! std::is_same< MovePolicy, strong_exception_policy >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr append_range (InputIt first, InputIt last, std::input_iterator_tag)
 
PLUMED_GCH_CPP20_CONSTEXPR void assign_with_copies (size_ty count, const value_ty &val)
 
template<typename ForwardIt , typename std::enable_if< std::is_assignable< value_ty &, decltype(*std::declval< ForwardIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void assign_with_range (ForwardIt first, ForwardIt last, std::forward_iterator_tag)
 
template<typename InputIt , typename std::enable_if< std::is_assignable< value_ty &, decltype(*std::declval< InputIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void assign_with_range (InputIt first, InputIt last, std::input_iterator_tag)
 
template<typename InputIt , typename std::enable_if<! std::is_assignable< value_ty &, decltype(*std::declval< InputIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void assign_with_range (InputIt first, InputIt last, std::input_iterator_tag)
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR size_ty checked_calculate_new_capacity (const size_ty minimum_required_capacity) const
 
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, void_t< typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&! has_alloc_construct< A, V, Args... >::value >::type , decltype(::new(std::declval< void * >()) V(std::declval< Args >()...)) , * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void construct (ptr p, Args &&... args) noexcept(noexcept(::new(std::declval< void * >()) value_ty(std::declval< Args >()...)))
 
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&has_alloc_construct< A, V, Args... >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void construct (ptr p, Args &&... args) noexcept(noexcept(alloc_traits::construct(std::declval< alloc_ty & >(), std::declval< value_ty * >(), std::forward< Args >(args)...)))
 
template<typename U , typename std::enable_if< is_uninitialized_memcpyable< value_ty, U >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void construct (ptr p, U &&val) noexcept
 
template<unsigned I, typename AT = alloc_traits, typename std::enable_if< AT::propagate_on_container_copy_assignment::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basecopy_assign (const small_vector_base< Allocator, I > &other)
 
template<unsigned I, typename AT = alloc_traits, typename std::enable_if<! AT::propagate_on_container_copy_assignment::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basecopy_assign (const small_vector_base< Allocator, I > &other)
 
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basecopy_assign_default (const small_vector_base< Allocator, I > &other)
 
template<typename InputIt , typename std::enable_if< ! is_memcpyable_iterator< InputIt >::value &&! std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR InputIt copy_n_return_in (InputIt first, size_ty count, ptr dest)
 
template<typename InputIt , typename std::enable_if< is_memcpyable_iterator< InputIt >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR InputIt copy_n_return_in (InputIt first, size_ty count, ptr dest) noexcept
 
template<typename RandomIt , typename std::enable_if< ! is_memcpyable_iterator< RandomIt >::value &&std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< RandomIt >::iterator_category >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR RandomIt copy_n_return_in (RandomIt first, size_ty count, ptr dest)
 
template<typename InputIt , typename std::enable_if< is_memcpyable_iterator< InputIt >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR std::move_iterator< InputIt > copy_n_return_in (std::move_iterator< InputIt > first, size_ty count, ptr dest) noexcept
 
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr copy_range (InputIt first, InputIt last, ptr dest)
 
PLUMED_GCH_CPP20_CONSTEXPR void deallocate (ptr p, size_ty n)
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy (ptr p) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&! has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy (ptr p) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy (ptr) const noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void destroy_range (ptr first, ptr last) noexcept
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP14_CONSTEXPR void destroy_range (ptr, ptr) const noexcept
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_at (ptr pos, Args &&... args)
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_into_current (ptr pos, Args &&... args)
 
template<typename V = value_ty, typename std::enable_if< std::is_nothrow_move_constructible< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_into_current (ptr pos, value_ty &&val)
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_into_current_end (Args &&... args)
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_into_reallocation (ptr pos, Args &&... args)
 
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr emplace_into_reallocation_end (Args &&... args)
 
PLUMED_GCH_CPP20_CONSTEXPR void erase_all (void)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr erase_at (ptr pos)
 
PLUMED_GCH_CPP20_CONSTEXPR void erase_last (void)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr erase_range (ptr first, ptr last)
 
PLUMED_GCH_CPP20_CONSTEXPR void erase_to_end (ptr pos)
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR size_ty get_max_size (void) const noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR ptr insert_copies (ptr pos, size_ty count, const value_ty &val)
 
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr insert_range (ptr pos, ForwardIt first, ForwardIt last, std::forward_iterator_tag)
 
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr insert_range (ptr pos, InputIt first, InputIt last, std::input_iterator_tag)
 
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr insert_range_helper (ptr pos, ForwardIt first, ForwardIt last)
 
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR void move_allocation_pointer (small_vector_base< alloc_ty, I > &&other) noexcept
 
template<unsigned I, typename A = alloc_ty, typename std::enable_if<! allocations_are_movable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign (small_vector_base< Allocator, I > &&other)
 
template<unsigned I, typename A = alloc_ty, typename std::enable_if< allocations_are_movable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign (small_vector_base< Allocator, I > &&other) noexcept(noexcept(std::declval< small_vector_base & >().move_assign_default(std::move(other))))
 
template<unsigned N = InlineCapacity, typename std::enable_if< N==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign_default (small_vector_base &&other) noexcept
 
template<unsigned GreaterI, typename std::enable_if<(InlineCapacity< GreaterI)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign_default (small_vector_base< Allocator, GreaterI > &&other)
 
template<unsigned LessEqualI, typename std::enable_if<(LessEqualI<=InlineCapacity)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign_default (small_vector_base< Allocator, LessEqualI > &&other) noexcept(std::is_nothrow_move_assignable< value_ty >::value &&std::is_nothrow_move_constructible< value_ty >::value)
 
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_basemove_assign_unequal_no_propagate (small_vector_base< Allocator, I > &&other)
 
template<unsigned I = InlineCapacity, typename std::enable_if< I==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void move_initialize (small_vector_base &&other) noexcept
 
template<unsigned GreaterI, typename std::enable_if<(InlineCapacity< GreaterI)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void move_initialize (small_vector_base< Allocator, GreaterI > &&other)
 
template<unsigned LessEqualI, typename std::enable_if<(LessEqualI<=InlineCapacity)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void move_initialize (small_vector_base< Allocator, LessEqualI > &&other) noexcept(std::is_nothrow_move_constructible< value_ty >::value)
 
template<typename V = value_ty, typename std::enable_if< is_memcpyable< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr move_left (ptr first, ptr last, ptr d_first)
 
template<typename V = value_ty, typename std::enable_if<! is_memcpyable< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr move_left (ptr first, ptr last, ptr d_first)
 
template<typename V = value_ty, typename std::enable_if< is_memcpyable< V >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr move_right (ptr first, ptr last, ptr d_last)
 
template<typename V = value_ty, typename std::enable_if<! is_memcpyable< V >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr move_right (ptr first, ptr last, ptr d_last)
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr ptr_cast (const small_vector_iterator< cptr, diff_ty > &it) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void request_capacity (size_ty request)
 
template<typename ... ValueT>
PLUMED_GCH_CPP20_CONSTEXPR void resize_with (size_ty new_size, const ValueT &... val)
 
PLUMED_GCH_CPP20_CONSTEXPR void set_to_inline_storage (void)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr shift_into_uninitialized (ptr pos, size_ty n_shift)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr shrink_to_size (void)
 
template<typename A = alloc_ty, typename std::enable_if<! allocations_are_swappable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void swap (small_vector_base &other)
 
template<typename A = alloc_ty, typename std::enable_if< allocations_are_swappable< A >::value &&InlineCapacity==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void swap (small_vector_base &other) noexcept
 
template<typename A = alloc_ty, typename std::enable_if< allocations_are_swappable< A >::value &&InlineCapacity !=0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void swap (small_vector_base &other) noexcept(std::is_nothrow_move_constructible< value_ty >::value &&detail::small_vector_adl::is_nothrow_swappable< value_ty >::value)
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_default (small_vector_base &other) noexcept(std::is_nothrow_move_constructible< value_ty >::value &&detail::small_vector_adl::is_nothrow_swappable< value_ty >::value)
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_elements (small_vector_base &other) noexcept(std::is_nothrow_move_constructible< value_ty >::value &&detail::small_vector_adl::is_nothrow_swappable< value_ty >::value)
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_unequal_no_propagate (small_vector_base &other)
 
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR size_ty unchecked_calculate_new_capacity (const size_ty minimum_required_capacity) const noexcept
 
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (ForwardIt first, ForwardIt last, ptr dest) noexcept
 
template<typename InputIt , typename std::enable_if< ! is_uninitialized_memcpyable_iterator< InputIt >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (InputIt first, InputIt last, ptr d_first)
 
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_copy (std::move_iterator< ForwardIt > first, std::move_iterator< ForwardIt > last, ptr dest) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_fill (ptr first, ptr last)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_fill (ptr first, ptr last, const value_ty &val)
 
template<typename Policy = void, typename V = value_ty, typename std::enable_if<! is_explicitly_move_insertable< V >::value||(std::is_same< Policy, strong_exception_policy >::value &&! relocate_with_move< V >::value), bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_move (ptr first, ptr last, ptr d_first) noexcept(alloc_interface::template is_uninitialized_memcpyable_iterator< ptr >::value)
 
template<typename Policy = void, typename V = value_ty, typename std::enable_if< is_explicitly_move_insertable< V >::value &&(! std::is_same< Policy, strong_exception_policy >::value||relocate_with_move< V >::value), bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_move (ptr first, ptr last, ptr d_first) noexcept(std::is_nothrow_move_constructible< value_ty >::value)
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_constructible< V >::value &&! must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_value_construct (ptr first, ptr last)
 
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_constructible< V >::value||must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr uninitialized_value_construct (ptr first, ptr last)
 

Static Protected Member Functions

template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = true>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty external_range_length (ForwardIt first, ForwardIt last)
 
template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<!(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = false>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty external_range_length (ForwardIt first, ForwardIt last) noexcept
 
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL size_ty get_inline_capacity (void) noexcept
 
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty internal_range_length (cptr first, cptr last) noexcept
 
template<typename Integer >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL std::size_t numeric_max (void) noexcept
 
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void throw_allocation_size_error (void)
 
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void throw_increment_error (void)
 
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void throw_index_error (void)
 
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void throw_overflow_error (void)
 
template<typename Pointer , typename std::enable_if< has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto to_address (const Pointer &p) noexcept -> decltype(std::pointer_traits< Pointer >::to_address(p))
 
template<typename Pointer , typename std::enable_if<! has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto to_address (const Pointer &p) noexcept -> decltype(to_address(p.operator->()))
 
static constexpr const value_tyto_address (const value_ty *p) noexcept
 
static constexpr value_tyto_address (value_ty *p) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_CPP17_CONSTEXPR void unchecked_advance (Iterator &pos, Integer n) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator unchecked_next (Iterator pos, Integer n=1) noexcept
 
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator unchecked_prev (Iterator pos, Integer n=1) noexcept
 

Private Types

using alloc_base = allocator_inliner< Allocator >
 
template<typename T >
using underlying_if_enum_t = typename underlying_if_enum< T >::type
 

Private Member Functions

PLUMED_GCH_CPP20_CONSTEXPR ptr checked_allocate (size_ty n)
 
PLUMED_GCH_CPP20_CONSTEXPR void decrease_size (size_ty n) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void increase_size (size_ty n) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void reset_data (ptr data_ptr, size_ty capacity, size_ty size)
 
PLUMED_GCH_CPP20_CONSTEXPR void set_capacity (size_ty capacity) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void set_data (ptr data_ptr, size_ty capacity, size_ty size) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void set_data_ptr (ptr data_ptr) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void set_size (size_ty size) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_allocation (small_vector_base &other) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_capacity (small_vector_base &other) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_data_ptr (small_vector_base &other) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR void swap_size (small_vector_base &other) noexcept
 
PLUMED_GCH_CPP20_CONSTEXPR ptr unchecked_allocate (size_ty n)
 
PLUMED_GCH_CPP20_CONSTEXPR ptr unchecked_allocate (size_ty n, cptr hint)
 
PLUMED_GCH_CPP20_CONSTEXPR void wipe (void)
 

Static Private Member Functions

template<typename V = value_ty, typename ... Args>
static PLUMED_GCH_CPP20_CONSTEXPR auto construct_at (value_ty *p, Args &&... args) noexcept(noexcept(::new(std::declval< void * >()) V(std::declval< Args >()...))) -> decltype(::new(std::declval< void * >()) V(std::declval< Args >()...))
 
template<typename V = value_ty, typename std::enable_if< std::is_array< V >::value, bool >::type = true>
static PLUMED_GCH_CPP20_CONSTEXPR void destroy_at (value_ty *p) noexcept
 
template<typename V = value_ty, typename std::enable_if<! std::is_array< V >::value, bool >::type = false>
static PLUMED_GCH_CPP20_CONSTEXPR void destroy_at (value_ty *p) noexcept
 

Private Attributes

small_vector_data< ptr, size_type, value_ty, InlineCapacity > m_data
 

Friends

template<typename SameAllocator , unsigned DifferentInlineCapacity>
class small_vector_base
 

Member Typedef Documentation

◆ alloc_base

template<typename Allocator >
using PLMD::gch::detail::allocator_interface< Allocator >::alloc_base = allocator_inliner<Allocator>
privateinherited

◆ alloc_interface

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::alloc_interface = allocator_interface<Allocator>
protected

◆ alloc_traits

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::alloc_traits = typename alloc_interface::alloc_traits
protected

◆ alloc_ty

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::alloc_ty = Allocator
protected

◆ bool_constant

template<typename Allocator , unsigned InlineCapacity>
template<bool B>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::bool_constant = std::integral_constant<bool, B>
protected

◆ cptr

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::cptr = typename alloc_interface::cptr
protected

◆ cvptr

template<typename Allocator >
using PLMD::gch::detail::allocator_interface< Allocator >::cvptr = typename alloc_traits::const_void_pointer
protectedinherited

◆ diff_ty

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::diff_ty = typename alloc_interface::diff_ty
protected

◆ difference_type

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::difference_type = typename allocator_interface<Allocator>::difference_type

◆ is_complete

template<typename Allocator , unsigned InlineCapacity>
template<typename T >
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::is_complete = typename alloc_interface::template is_complete<T>
protected

◆ is_memcpyable

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::is_memcpyable = typename alloc_interface::template is_memcpyable<Args...>
protected

◆ is_memcpyable_iterator

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::is_memcpyable_iterator = typename alloc_interface::template is_memcpyable_iterator<Args...>
protected

◆ ptr

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::ptr = typename alloc_interface::ptr
protected

◆ size_ty

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::size_ty = typename alloc_interface::size_ty
protected

◆ size_type

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::size_type = typename allocator_interface<Allocator>::size_type

◆ underlying_if_enum_t

template<typename Allocator >
template<typename T >
using PLMD::gch::detail::allocator_interface< Allocator >::underlying_if_enum_t = typename underlying_if_enum<T>::type
privateinherited

◆ value_ty

template<typename Allocator , unsigned InlineCapacity>
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::value_ty = typename alloc_interface::value_ty
protected

◆ void_t

template<typename Allocator , unsigned InlineCapacity>
template<typename ... >
using PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::void_t = void
protected

◆ vptr

template<typename Allocator >
using PLMD::gch::detail::allocator_interface< Allocator >::vptr = typename alloc_traits::void_pointer
protectedinherited

Constructor & Destructor Documentation

◆ small_vector_base() [1/13]

template<typename Allocator , unsigned InlineCapacity>
PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( const small_vector_base< Allocator, InlineCapacity > &  )
delete

◆ small_vector_base() [2/13]

template<typename Allocator , unsigned InlineCapacity>
PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( small_vector_base< Allocator, InlineCapacity > &&  )
deletenoexcept

◆ small_vector_base() [3/13]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( void  )
inlinenoexcept

◆ small_vector_base() [4/13]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename ... MaybeAlloc>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( bypass_tag  ,
const small_vector_base< Allocator, I > &  other,
const MaybeAlloc &...  alloc 
)
inline

◆ small_vector_base() [5/13]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( bypass_tag  ,
small_vector_base< Allocator, I > &&  other 
)
inlinenoexcept

◆ small_vector_base() [6/13]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename A = alloc_ty, typename std::enable_if< std::is_same< std::allocator< value_ty >, A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( bypass_tag  ,
small_vector_base< Allocator, I > &&  other,
const alloc_ty  
)
inlinenoexcept

◆ small_vector_base() [7/13]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename A = alloc_ty, typename std::enable_if<!(std::is_same< std::allocator< value_ty >, A >::value)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( bypass_tag  ,
small_vector_base< Allocator, I > &&  other,
const alloc_ty alloc 
)
inline

◆ small_vector_base() [8/13]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( const alloc_ty alloc)
inlineexplicitnoexcept

◆ small_vector_base() [9/13]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( size_ty  count,
const alloc_ty alloc 
)
inline

◆ small_vector_base() [10/13]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( size_ty  count,
const value_ty val,
const alloc_ty alloc 
)
inline

◆ small_vector_base() [11/13]

template<typename Allocator , unsigned InlineCapacity>
template<typename Generator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( size_ty  count,
Generator &  g,
const alloc_ty alloc 
)
inline

◆ small_vector_base() [12/13]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( InputIt  first,
InputIt  last,
std::input_iterator_tag  ,
const alloc_ty alloc 
)
inline

◆ small_vector_base() [13/13]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::small_vector_base ( ForwardIt  first,
ForwardIt  last,
std::forward_iterator_tag  ,
const alloc_ty alloc 
)
inline

◆ ~small_vector_base()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::~small_vector_base ( void  )
inlinenoexcept

Member Function Documentation

◆ allocate()

template<typename Allocator >
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::allocate ( size_ty  n)
inlineinherited

◆ allocate_with_hint()

template<typename Allocator >
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::allocate_with_hint ( size_ty  n,
cptr  hint 
)
inlineinherited

◆ allocation_end_ptr() [1/2]

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD cptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::allocation_end_ptr ( void  ) const
inlineconstexprnoexcept

◆ allocation_end_ptr() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::allocation_end_ptr ( void  )
inlinenoexcept

◆ append_copies()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::append_copies ( size_ty  count,
const value_ty val 
)
inlineprotected

◆ append_element()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::append_element ( Args &&...  args)
inlineprotected

◆ append_range() [1/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename MovePolicy = void, typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::append_range ( ForwardIt  first,
ForwardIt  last,
std::forward_iterator_tag   
)
inlineprotected

◆ append_range() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename MovePolicy , typename InputIt , typename std::enable_if< std::is_same< MovePolicy, strong_exception_policy >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::append_range ( InputIt  first,
InputIt  last,
std::input_iterator_tag   
)
inlineprotected

◆ append_range() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename MovePolicy = void, typename InputIt , typename std::enable_if< ! std::is_same< MovePolicy, strong_exception_policy >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::append_range ( InputIt  first,
InputIt  last,
std::input_iterator_tag   
)
inlineprotected

◆ assign_with_copies()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::assign_with_copies ( size_ty  count,
const value_ty val 
)
inlineprotected

◆ assign_with_range() [1/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt , typename std::enable_if< std::is_assignable< value_ty &, decltype(*std::declval< ForwardIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::assign_with_range ( ForwardIt  first,
ForwardIt  last,
std::forward_iterator_tag   
)
inlineprotected

◆ assign_with_range() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if< std::is_assignable< value_ty &, decltype(*std::declval< InputIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::assign_with_range ( InputIt  first,
InputIt  last,
std::input_iterator_tag   
)
inlineprotected

◆ assign_with_range() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if<! std::is_assignable< value_ty &, decltype(*std::declval< InputIt >())>::value , ::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::assign_with_range ( InputIt  first,
InputIt  last,
std::input_iterator_tag   
)
inlineprotected

◆ begin_ptr() [1/2]

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD cptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::begin_ptr ( void  ) const
inlineconstexprnoexcept

◆ begin_ptr() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::begin_ptr ( void  )
inlinenoexcept

◆ checked_allocate()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::checked_allocate ( size_ty  n)
inlineprivate

◆ checked_calculate_new_capacity()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::checked_calculate_new_capacity ( const size_ty  minimum_required_capacity) const
inlineprotected

◆ construct() [1/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, void_t< typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&! has_alloc_construct< A, V, Args... >::value >::type , decltype(::new(std::declval< void * >()) V(std::declval< Args >()...)) , * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::construct ( typename A  = alloc_ty,
typename V  = value_ty,
typename ...  Args,
void_t< typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&! has_alloc_construct< A, V, Args... >::value >::type  ,
decltype(::new(std::declval< void * >()) V(std::declval< Args >()...))  ,
= nullptr 
)
inlineprotectednoexcept

◆ construct() [2/5]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&has_alloc_construct< A, V, Args... >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::construct ( ptr  p,
Args &&...  args 
)
inlinenoexceptinherited

◆ construct() [3/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename ... Args, typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&has_alloc_construct< A, V, Args... >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::construct ( typename A  = alloc_ty,
typename V  = value_ty,
typename ...  Args,
typename std::enable_if<(sizeof...(Args) !=1||! is_uninitialized_memcpyable< V, Args... >::value) &&has_alloc_construct< A, V, Args... >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ construct() [4/5]

template<typename Allocator >
template<typename U , typename std::enable_if< is_uninitialized_memcpyable< value_ty, U >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::construct ( ptr  p,
U &&  val 
)
inlinenoexceptinherited

◆ construct() [5/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename U , typename std::enable_if< is_uninitialized_memcpyable< value_ty, U >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::construct ( typename U  ,
typename std::enable_if< is_uninitialized_memcpyable< value_ty, U >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ construct_at()

template<typename Allocator >
template<typename V = value_ty, typename ... Args>
static PLUMED_GCH_CPP20_CONSTEXPR auto PLMD::gch::detail::allocator_interface< Allocator >::construct_at ( value_ty p,
Args &&...  args 
) -> decltype (::new (std::declval<void *> ()) V (std::declval<Args> ()...))
inlinestaticprivatenoexceptinherited

◆ copy_allocator()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD alloc_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_allocator ( void  ) const
inlineconstexprnoexcept

◆ copy_assign() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename AT = alloc_traits, typename std::enable_if< AT::propagate_on_container_copy_assignment::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_assign ( const small_vector_base< Allocator, I > &  other)
inlineprotected

◆ copy_assign() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename AT = alloc_traits, typename std::enable_if<! AT::propagate_on_container_copy_assignment::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_assign ( const small_vector_base< Allocator, I > &  other)
inlineprotected

◆ copy_assign_default()

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_assign_default ( const small_vector_base< Allocator, I > &  other)
inlineprotected

◆ copy_n_return_in() [1/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if< ! is_memcpyable_iterator< InputIt >::value &&! std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR InputIt PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_n_return_in ( InputIt  first,
size_ty  count,
ptr  dest 
)
inlineprotected

◆ copy_n_return_in() [2/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if< is_memcpyable_iterator< InputIt >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR InputIt PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_n_return_in ( InputIt  first,
size_ty  count,
ptr  dest 
)
inlineprotectednoexcept

◆ copy_n_return_in() [3/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename RandomIt , typename std::enable_if< ! is_memcpyable_iterator< RandomIt >::value &&std::is_base_of< std::random_access_iterator_tag, typename std::iterator_traits< RandomIt >::iterator_category >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR RandomIt PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_n_return_in ( RandomIt  first,
size_ty  count,
ptr  dest 
)
inlineprotected

◆ copy_n_return_in() [4/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if< is_memcpyable_iterator< InputIt >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR std::move_iterator<InputIt> PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_n_return_in ( std::move_iterator< InputIt >  first,
size_ty  count,
ptr  dest 
)
inlineprotectednoexcept

◆ copy_range()

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::copy_range ( InputIt  first,
InputIt  last,
ptr  dest 
)
inlineprotected

◆ data_ptr() [1/2]

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD cptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::data_ptr ( void  ) const
inlineconstexprnoexcept

◆ data_ptr() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::data_ptr ( void  )
inlinenoexcept

◆ deallocate() [1/2]

template<typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::deallocate ( ptr  p,
size_ty  n 
)
inlineinherited

◆ deallocate() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::deallocate
inlineprotected

◆ decrease_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::decrease_size ( size_ty  n)
inlineprivatenoexcept

◆ default_uninitialized_copy()

template<typename Allocator >
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::default_uninitialized_copy ( InputIt  first,
InputIt  last,
ptr  d_first 
)
inlineinherited

◆ default_uninitialized_value_construct()

template<typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::default_uninitialized_value_construct ( ptr  first,
ptr  last 
)
inlineinherited

◆ destroy() [1/5]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy ( ptr  p)
inlinenoexceptinherited

◆ destroy() [2/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&has_alloc_destroy< A, V >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ destroy() [3/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&! has_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if<(! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value) &&! has_alloc_destroy< A, V >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ destroy() [4/5]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy ( ptr  ) const
inlinenoexceptinherited

◆ destroy() [5/5]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ destroy_at() [1/2]

template<typename Allocator >
template<typename V = value_ty, typename std::enable_if< std::is_array< V >::value, bool >::type = true>
static PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_at ( value_ty p)
inlinestaticprivatenoexceptinherited

◆ destroy_at() [2/2]

template<typename Allocator >
template<typename V = value_ty, typename std::enable_if<! std::is_array< V >::value, bool >::type = false>
static PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_at ( value_ty p)
inlinestaticprivatenoexceptinherited

◆ destroy_range() [1/4]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_range ( ptr  first,
ptr  last 
)
inlinenoexceptinherited

◆ destroy_range() [2/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_range ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if<! is_trivially_destructible< V >::value||must_use_alloc_destroy< A, V >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ destroy_range() [3/4]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP14_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_range ( ptr  ,
ptr   
) const
inlinenoexceptinherited

◆ destroy_range() [4/4]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP14_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::destroy_range ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if< is_trivially_destructible< V >::value &&! must_use_alloc_destroy< A, V >::value >::type *  = nullptr 
)
inlineprotectednoexcept

◆ emplace_at()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_at ( ptr  pos,
Args &&...  args 
)
inlineprotected

◆ emplace_into_current() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_into_current ( ptr  pos,
Args &&...  args 
)
inlineprotected

◆ emplace_into_current() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename V = value_ty, typename std::enable_if< std::is_nothrow_move_constructible< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_into_current ( ptr  pos,
value_ty &&  val 
)
inlineprotected

◆ emplace_into_current_end()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_into_current_end ( Args &&...  args)
inlineprotected

◆ emplace_into_reallocation()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_into_reallocation ( ptr  pos,
Args &&...  args 
)
inlineprotected

◆ emplace_into_reallocation_end()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::emplace_into_reallocation_end ( Args &&...  args)
inlineprotected

◆ end_ptr() [1/2]

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD cptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::end_ptr ( void  ) const
inlineconstexprnoexcept

◆ end_ptr() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::end_ptr ( void  )
inlinenoexcept

◆ erase_all()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::erase_all ( void  )
inlineprotected

◆ erase_at()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::erase_at ( ptr  pos)
inlineprotected

◆ erase_last()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::erase_last ( void  )
inlineprotected

◆ erase_range()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::erase_range ( ptr  first,
ptr  last 
)
inlineprotected

◆ erase_to_end()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::erase_to_end ( ptr  pos)
inlineprotected

◆ external_range_length() [1/3]

template<typename Allocator >
template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = true>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::external_range_length ( ForwardIt  first,
ForwardIt  last 
)
inlinestaticinherited

◆ external_range_length() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = true>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::external_range_length ( typename ForwardIt  ,
typename ItDiffT  = typename std::iterator_traits<ForwardIt>::difference_type,
typename std::enable_if<(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type  = true 
)
inlinestaticprotected

◆ external_range_length() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt , typename ItDiffT = typename std::iterator_traits<ForwardIt>::difference_type, typename std::enable_if<!(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type = false>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::external_range_length ( typename ForwardIt  ,
typename ItDiffT  = typename std::iterator_traits<ForwardIt>::difference_type,
typename std::enable_if<!(numeric_max< size_ty >()< numeric_max< ItDiffT >()), bool >::type  = false 
)
inlinestaticprotectednoexcept

◆ external_range_length_impl() [1/2]

template<typename Allocator >
template<typename ForwardIt >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::external_range_length_impl ( ForwardIt  first,
ForwardIt  last,
std::forward_iterator_tag   
)
inlinestaticinherited

◆ external_range_length_impl() [2/2]

template<typename Allocator >
template<typename RandomIt >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::external_range_length_impl ( RandomIt  first,
RandomIt  last,
std::random_access_iterator_tag   
)
inlinestaticinherited

◆ get_capacity()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::get_capacity ( void  ) const
inlineconstexprnoexcept

◆ get_inline_capacity()

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::get_inline_capacity ( void  )
inlinestaticprotectednoexcept

◆ get_max_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::get_max_size
inlineprotectednoexcept

◆ get_size()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::get_size ( void  ) const
inlineconstexprnoexcept

◆ has_allocation()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD bool PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::has_allocation ( void  ) const
inlineconstexprnoexcept

◆ increase_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::increase_size ( size_ty  n)
inlineprivatenoexcept

◆ insert_copies()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::insert_copies ( ptr  pos,
size_ty  count,
const value_ty val 
)
inlineprotected

◆ insert_range() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::insert_range ( ptr  pos,
ForwardIt  first,
ForwardIt  last,
std::forward_iterator_tag   
)
inlineprotected

◆ insert_range() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::insert_range ( ptr  pos,
InputIt  first,
InputIt  last,
std::input_iterator_tag   
)
inlineprotected

◆ insert_range_helper()

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::insert_range_helper ( ptr  pos,
ForwardIt  first,
ForwardIt  last 
)
inlineprotected

◆ internal_range_length() [1/2]

template<typename Allocator >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::internal_range_length ( cptr  first,
cptr  last 
)
inlinestaticnoexceptinherited

◆ internal_range_length() [2/2]

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR size_ty PLMD::gch::detail::allocator_interface< Allocator >::internal_range_length
inlinestaticprotectednoexcept

◆ is_inlinable()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD bool PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::is_inlinable ( void  ) const
inlineconstexprnoexcept

◆ move_allocation_pointer()

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_allocation_pointer ( small_vector_base< alloc_ty, I > &&  other)
inlineprotectednoexcept

◆ move_assign() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename A = alloc_ty, typename std::enable_if<! allocations_are_movable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign ( small_vector_base< Allocator, I > &&  other)
inlineprotected

◆ move_assign() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I, typename A = alloc_ty, typename std::enable_if< allocations_are_movable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign ( small_vector_base< Allocator, I > &&  other)
inlineprotectednoexcept

◆ move_assign_default() [1/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned N = InlineCapacity, typename std::enable_if< N==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign_default ( small_vector_base< Allocator, InlineCapacity > &&  other)
inlineprotectednoexcept

◆ move_assign_default() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned GreaterI, typename std::enable_if<(InlineCapacity< GreaterI)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign_default ( small_vector_base< Allocator, GreaterI > &&  other)
inlineprotected

◆ move_assign_default() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned LessEqualI, typename std::enable_if<(LessEqualI<=InlineCapacity)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign_default ( small_vector_base< Allocator, LessEqualI > &&  other)
inlineprotectednoexcept

◆ move_assign_unequal_no_propagate()

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_assign_unequal_no_propagate ( small_vector_base< Allocator, I > &&  other)
inlineprotected

◆ move_initialize() [1/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned I = InlineCapacity, typename std::enable_if< I==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_initialize ( small_vector_base< Allocator, InlineCapacity > &&  other)
inlineprotectednoexcept

◆ move_initialize() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned GreaterI, typename std::enable_if<(InlineCapacity< GreaterI)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_initialize ( small_vector_base< Allocator, GreaterI > &&  other)
inlineprotected

◆ move_initialize() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<unsigned LessEqualI, typename std::enable_if<(LessEqualI<=InlineCapacity)>::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_initialize ( small_vector_base< Allocator, LessEqualI > &&  other)
inlineprotectednoexcept

◆ move_left() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename V = value_ty, typename std::enable_if< is_memcpyable< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_left ( ptr  first,
ptr  last,
ptr  d_first 
)
inlineprotected

◆ move_left() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename V = value_ty, typename std::enable_if<! is_memcpyable< V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_left ( ptr  first,
ptr  last,
ptr  d_first 
)
inlineprotected

◆ move_right() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename V = value_ty, typename std::enable_if< is_memcpyable< V >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_right ( ptr  first,
ptr  last,
ptr  d_last 
)
inlineprotected

◆ move_right() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename V = value_ty, typename std::enable_if<! is_memcpyable< V >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::move_right ( ptr  first,
ptr  last,
ptr  d_last 
)
inlineprotected

◆ num_uninitialized()

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::num_uninitialized ( void  ) const
inlineconstexprnoexcept

◆ numeric_max()

template<typename Allocator , unsigned InlineCapacity>
template<typename Integer >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL std::size_t PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::numeric_max ( void  )
inlinestaticprotectednoexcept

◆ operator=() [1/2]

template<typename Allocator , unsigned InlineCapacity>
small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::operator= ( const small_vector_base< Allocator, InlineCapacity > &  )
delete

◆ operator=() [2/2]

template<typename Allocator , unsigned InlineCapacity>
small_vector_base& PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::operator= ( small_vector_base< Allocator, InlineCapacity > &&  )
deletenoexcept

◆ ptr_cast()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::ptr_cast ( const small_vector_iterator< cptr, diff_ty > &  it)
inlineprotectednoexcept

◆ request_capacity()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::request_capacity ( size_ty  request)
inlineprotected

◆ reset_data()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::reset_data ( ptr  data_ptr,
size_ty  capacity,
size_ty  size 
)
inlineprivate

◆ resize_with()

template<typename Allocator , unsigned InlineCapacity>
template<typename ... ValueT>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::resize_with ( size_ty  new_size,
const ValueT &...  val 
)
inlineprotected

◆ set_capacity()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_capacity ( size_ty  capacity)
inlineprivatenoexcept

◆ set_data()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_data ( ptr  data_ptr,
size_ty  capacity,
size_ty  size 
)
inlineprivatenoexcept

◆ set_data_ptr()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_data_ptr ( ptr  data_ptr)
inlineprivatenoexcept

◆ set_default()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_default ( void  )
inline

◆ set_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_size ( size_ty  size)
inlineprivatenoexcept

◆ set_to_inline_storage()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::set_to_inline_storage ( void  )
inlineprotected

◆ shift_into_uninitialized()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::shift_into_uninitialized ( ptr  pos,
size_ty  n_shift 
)
inlineprotected

◆ shrink_to_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::shrink_to_size ( void  )
inlineprotected

◆ storage_ptr() [1/2]

template<typename Allocator , unsigned InlineCapacity>
constexpr PLUMED_GCH_NODISCARD cptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::storage_ptr ( void  ) const
inlineconstexprnoexcept

◆ storage_ptr() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::storage_ptr ( void  )
inlinenoexcept

◆ swap() [1/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename std::enable_if<! allocations_are_swappable< A >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotected

◆ swap() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename std::enable_if< allocations_are_swappable< A >::value &&InlineCapacity==0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotectednoexcept

◆ swap() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename std::enable_if< allocations_are_swappable< A >::value &&InlineCapacity !=0 >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotectednoexcept

◆ swap_allocation()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_allocation ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprivatenoexcept

◆ swap_capacity()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_capacity ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprivatenoexcept

◆ swap_data_ptr()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_data_ptr ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprivatenoexcept

◆ swap_default()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_default ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotectednoexcept

◆ swap_elements()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_elements ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotectednoexcept

◆ swap_size()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_size ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprivatenoexcept

◆ swap_unequal_no_propagate()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::swap_unequal_no_propagate ( small_vector_base< Allocator, InlineCapacity > &  other)
inlineprotected

◆ throw_allocation_size_error()

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::throw_allocation_size_error ( void  )
inlinestaticprotected

◆ throw_increment_error()

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::throw_increment_error ( void  )
inlinestaticprotected

◆ throw_index_error()

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::throw_index_error ( void  )
inlinestaticprotected

◆ throw_overflow_error()

template<typename Allocator , unsigned InlineCapacity>
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::throw_overflow_error ( void  )
inlinestaticprotected

◆ throw_range_length_error()

template<typename Allocator >
static PLUMED_GCH_NORETURN PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::throw_range_length_error ( void  )
inlinestaticinherited

◆ to_address() [1/7]

template<typename Allocator >
template<typename Pointer , typename std::enable_if< has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto PLMD::gch::detail::allocator_interface< Allocator >::to_address ( const Pointer &  p) -> decltype (std::pointer_traits<Pointer>::to_address (p))
inlinestaticconstexprnoexceptinherited

◆ to_address() [2/7]

template<typename Allocator , unsigned InlineCapacity>
template<typename Pointer , typename std::enable_if< has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto PLMD::gch::detail::allocator_interface< Allocator >::to_address ( typename Pointer  ,
typename std::enable_if< has_ptr_traits_to_address< Pointer >::value >::type *  = nullptr 
)
inlinestaticconstexprprotectednoexcept

◆ to_address() [3/7]

template<typename Allocator , unsigned InlineCapacity>
template<typename Pointer , typename std::enable_if<! has_ptr_traits_to_address< Pointer >::value >::type * = nullptr>
static constexpr auto PLMD::gch::detail::allocator_interface< Allocator >::to_address ( typename Pointer  ,
typename std::enable_if<! has_ptr_traits_to_address< Pointer >::value >::type *  = nullptr 
)
inlinestaticconstexprprotectednoexcept

◆ to_address() [4/7]

template<typename Allocator >
static constexpr const value_ty* PLMD::gch::detail::allocator_interface< Allocator >::to_address ( const value_ty p)
inlinestaticconstexprnoexceptinherited

◆ to_address() [5/7]

template<typename Allocator , unsigned InlineCapacity>
static constexpr const value_ty* PLMD::gch::detail::allocator_interface< Allocator >::to_address
inlinestaticconstexprprotectednoexcept

◆ to_address() [6/7]

template<typename Allocator >
static constexpr value_ty* PLMD::gch::detail::allocator_interface< Allocator >::to_address ( value_ty p)
inlinestaticconstexprnoexceptinherited

◆ to_address() [7/7]

template<typename Allocator , unsigned InlineCapacity>
static constexpr value_ty* PLMD::gch::detail::allocator_interface< Allocator >::to_address
inlinestaticconstexprprotectednoexcept

◆ unchecked_advance() [1/2]

template<typename Allocator >
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_CPP17_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::unchecked_advance ( Iterator &  pos,
Integer  n 
)
inlinestaticnoexceptinherited

◆ unchecked_advance() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_CPP17_CONSTEXPR void PLMD::gch::detail::allocator_interface< Allocator >::unchecked_advance ( typename Iterator  ,
typename IteratorDiffT  = typename std::iterator_traits<Iterator>::difference_type,
typename Integer  = IteratorDiffT 
)
inlinestaticprotectednoexcept

◆ unchecked_allocate() [1/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::unchecked_allocate ( size_ty  n)
inlineprivate

◆ unchecked_allocate() [2/2]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::unchecked_allocate ( size_ty  n,
cptr  hint 
)
inlineprivate

◆ unchecked_calculate_new_capacity()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR size_ty PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::unchecked_calculate_new_capacity ( const size_ty  minimum_required_capacity) const
inlineprotectednoexcept

◆ unchecked_next() [1/2]

template<typename Allocator >
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator PLMD::gch::detail::allocator_interface< Allocator >::unchecked_next ( Iterator  pos,
Integer  n = 1 
)
inlinestaticnoexceptinherited

◆ unchecked_next() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator PLMD::gch::detail::allocator_interface< Allocator >::unchecked_next ( typename Iterator  ,
typename IteratorDiffT  = typename std::iterator_traits<Iterator>::difference_type,
typename Integer  = IteratorDiffT 
)
inlinestaticprotectednoexcept

◆ unchecked_prev() [1/2]

template<typename Allocator >
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator PLMD::gch::detail::allocator_interface< Allocator >::unchecked_prev ( Iterator  pos,
Integer  n = 1 
)
inlinestaticnoexceptinherited

◆ unchecked_prev() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename Iterator , typename IteratorDiffT = typename std::iterator_traits<Iterator>::difference_type, typename Integer = IteratorDiffT>
static PLUMED_GCH_NODISCARD PLUMED_GCH_CPP17_CONSTEXPR Iterator PLMD::gch::detail::allocator_interface< Allocator >::unchecked_prev ( typename Iterator  ,
typename IteratorDiffT  = typename std::iterator_traits<Iterator>::difference_type,
typename Integer  = IteratorDiffT 
)
inlinestaticprotectednoexcept

◆ uninitialized_copy() [1/6]

template<typename Allocator >
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( ForwardIt  first,
ForwardIt  last,
ptr  dest 
)
inlinenoexceptinherited

◆ uninitialized_copy() [2/6]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( typename ForwardIt  ,
typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type  = true 
)
inlineprotectednoexcept

◆ uninitialized_copy() [3/6]

template<typename Allocator >
template<typename InputIt , typename std::enable_if< ! is_uninitialized_memcpyable_iterator< InputIt >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( InputIt  first,
InputIt  last,
ptr  d_first 
)
inlineinherited

◆ uninitialized_copy() [4/6]

template<typename Allocator , unsigned InlineCapacity>
template<typename InputIt , typename std::enable_if< ! is_uninitialized_memcpyable_iterator< InputIt >::value, bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( typename InputIt  ,
typename std::enable_if< ! is_uninitialized_memcpyable_iterator< InputIt >::value, bool >::type  = false 
)
inlineprotected

◆ uninitialized_copy() [5/6]

template<typename Allocator >
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( std::move_iterator< ForwardIt >  first,
std::move_iterator< ForwardIt >  last,
ptr  dest 
)
inlinenoexceptinherited

◆ uninitialized_copy() [6/6]

template<typename Allocator , unsigned InlineCapacity>
template<typename ForwardIt , typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_copy ( typename ForwardIt  ,
typename std::enable_if< is_uninitialized_memcpyable_iterator< ForwardIt >::value, bool >::type  = true 
)
inlineprotectednoexcept

◆ uninitialized_fill() [1/4]

template<typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_fill ( ptr  first,
ptr  last 
)
inlineinherited

◆ uninitialized_fill() [2/4]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_fill
inlineprotected

◆ uninitialized_fill() [3/4]

template<typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_fill ( ptr  first,
ptr  last,
const value_ty val 
)
inlineinherited

◆ uninitialized_fill() [4/4]

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_fill
inlineprotected

◆ uninitialized_move() [1/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename Policy = void, typename V = value_ty, typename std::enable_if<! is_explicitly_move_insertable< V >::value||(std::is_same< Policy, strong_exception_policy >::value &&! relocate_with_move< V >::value), bool >::type = false>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::uninitialized_move ( ptr  first,
ptr  last,
ptr  d_first 
)
inlineprotectednoexcept

◆ uninitialized_move() [2/2]

template<typename Allocator , unsigned InlineCapacity>
template<typename Policy = void, typename V = value_ty, typename std::enable_if< is_explicitly_move_insertable< V >::value &&(! std::is_same< Policy, strong_exception_policy >::value||relocate_with_move< V >::value), bool >::type = true>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::uninitialized_move ( ptr  first,
ptr  last,
ptr  d_first 
)
inlineprotectednoexcept

◆ uninitialized_value_construct() [1/3]

template<typename Allocator >
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_constructible< V >::value &&! must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_value_construct ( ptr  first,
ptr  last 
)
inlineinherited

◆ uninitialized_value_construct() [2/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if<! is_trivially_constructible< V >::value||must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_value_construct ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if<! is_trivially_constructible< V >::value||must_use_alloc_construct< A, V >::value >::type *  = nullptr 
)
inlineprotected

◆ uninitialized_value_construct() [3/3]

template<typename Allocator , unsigned InlineCapacity>
template<typename A = alloc_ty, typename V = value_ty, typename std::enable_if< is_trivially_constructible< V >::value &&! must_use_alloc_construct< A, V >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR ptr PLMD::gch::detail::allocator_interface< Allocator >::uninitialized_value_construct ( typename A  = alloc_ty,
typename V  = value_ty,
typename std::enable_if< is_trivially_constructible< V >::value &&! must_use_alloc_construct< A, V >::value >::type *  = nullptr 
)
inlineprotected

◆ wipe()

template<typename Allocator , unsigned InlineCapacity>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::wipe ( void  )
inlineprivate

Friends And Related Function Documentation

◆ small_vector_base

template<typename Allocator , unsigned InlineCapacity>
template<typename SameAllocator , unsigned DifferentInlineCapacity>
friend class small_vector_base
friend

Member Data Documentation

◆ bypass

template<typename Allocator , unsigned InlineCapacity>
constexpr struct PLMD::gch::detail::small_vector_base::bypass_tag PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::bypass
static

◆ m_data

template<typename Allocator , unsigned InlineCapacity>
small_vector_data<ptr, size_type, value_ty, InlineCapacity> PLMD::gch::detail::small_vector_base< Allocator, InlineCapacity >::m_data
private

The documentation for this class was generated from the following file: