#include <small_vector.h>
Public Types | |
using | allocator_type = Allocator |
using | const_iterator = small_vector_iterator<const_pointer, difference_type> |
using | const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
using | const_reference = const value_type& |
using | const_reverse_iterator = std::reverse_iterator<const_iterator> |
using | difference_type = typename base::difference_type |
using | iterator = small_vector_iterator<pointer, difference_type> |
using | pointer = typename std::allocator_traits<allocator_type>::pointer |
using | reference = value_type& |
using | reverse_iterator = std::reverse_iterator<iterator> |
using | size_type = typename base::size_type |
using | value_type = T |
Public Member Functions | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (const allocator_type &alloc) noexcept |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (const small_vector &other) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (const small_vector &other, const allocator_type &alloc) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (const small_vector< T, I, Allocator > &other) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (const small_vector< T, I, Allocator > &other, const allocator_type &alloc) |
template<typename InputIt, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (InputIt first, InputIt last, const allocator_type &alloc=allocator_type()) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (size_type count, const allocator_type &alloc=allocator_type()) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (size_type count, const_reference value, const allocator_type &alloc=allocator_type()) |
template<typename Generator, typename std::enable_if< ! std::is_convertible< Generator, const_reference >::value >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (size_type count, Generator g, const allocator_type &alloc=allocator_type()) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (small_vector &&other) noexcept(std::is_nothrow_move_constructible< value_type >::value||InlineCapacity==0) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (small_vector &&other, const allocator_type &alloc) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (small_vector< T, I, Allocator > &&other) noexcept(std::is_nothrow_move_constructible< value_type >::value &&I< InlineCapacity) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (small_vector< T, I, Allocator > &&other, const allocator_type &alloc) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (std::initializer_list< value_type > init, const allocator_type &alloc=allocator_type()) |
PLUMED_GCH_CPP20_CONSTEXPR | small_vector (void) noexcept(noexcept(allocator_type()))=default |
PLUMED_GCH_CPP20_CONSTEXPR | ~small_vector (void)=default |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | append (const small_vector< T, I, Allocator > &other) |
template<typename InputIt, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | append (InputIt first, InputIt last) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | append (small_vector< T, I, Allocator > &&other) |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | append (std::initializer_list< value_type > ilist) |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (const small_vector &other) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (const small_vector< T, I, Allocator > &other) |
template<typename InputIt, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (InputIt first, InputIt last) |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (size_type count, const_reference value) |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (small_vector &&other) noexcept((std::is_same< std::allocator< value_type >, Allocator >::value||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value) &&((std::is_nothrow_move_assignable< value_type >::value &&std::is_nothrow_move_constructible< value_type >::value)||InlineCapacity==0)) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (small_vector< T, I, Allocator > &&other) noexcept(I<=InlineCapacity &&(std::is_same< std::allocator< value_type >, Allocator >::value||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value) &&std::is_nothrow_move_assignable< value_type >::value &&std::is_nothrow_move_constructible< value_type >::value) |
PLUMED_GCH_CPP20_CONSTEXPR void | assign (std::initializer_list< value_type > ilist) |
PLUMED_GCH_CPP14_CONSTEXPR reference | at (size_type pos) |
PLUMED_GCH_CPP14_CONSTEXPR const_reference | at (size_type pos) const |
PLUMED_GCH_CPP14_CONSTEXPR reference | back (void) |
constexpr const_reference | back (void) const |
constexpr const_iterator | begin (void) const noexcept |
PLUMED_GCH_CPP14_CONSTEXPR iterator | begin (void) noexcept |
constexpr size_type | capacity (void) const noexcept |
constexpr const_iterator | cbegin (void) const noexcept |
constexpr const_iterator | cend (void) const noexcept |
PLUMED_GCH_CPP20_CONSTEXPR void | clear (void) noexcept |
constexpr const_reverse_iterator | crbegin (void) const noexcept |
constexpr const_reverse_iterator | crend (void) const noexcept |
constexpr const_pointer | data (void) const noexcept |
PLUMED_GCH_CPP14_CONSTEXPR pointer | data (void) noexcept |
template<typename ... Args> | |
PLUMED_GCH_CPP20_CONSTEXPR iterator | emplace (const_iterator pos, Args &&... args) |
template<typename ... Args> | |
PLUMED_GCH_CPP20_CONSTEXPR reference | emplace_back (Args &&... args) |
PLUMED_GCH_NODISCARD constexpr bool | empty (void) const noexcept |
constexpr const_iterator | end (void) const noexcept |
PLUMED_GCH_CPP14_CONSTEXPR iterator | end (void) noexcept |
PLUMED_GCH_CPP20_CONSTEXPR iterator | erase (const_iterator first, const_iterator last) |
PLUMED_GCH_CPP20_CONSTEXPR iterator | erase (const_iterator pos) |
PLUMED_GCH_CPP14_CONSTEXPR reference | front (void) |
constexpr const_reference | front (void) const |
constexpr allocator_type | get_allocator (void) const noexcept |
PLUMED_GCH_NODISCARD constexpr bool | inlinable (void) const noexcept |
PLUMED_GCH_NODISCARD constexpr bool | inlined (void) const noexcept |
PLUMED_GCH_CPP20_CONSTEXPR iterator | insert (const_iterator pos, const_reference value) |
template<typename InputIt, typename std::enable_if< std::is_base_of< std::input_iterator_tag, typename std::iterator_traits< InputIt >::iterator_category >::value >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR iterator | insert (const_iterator pos, InputIt first, InputIt last) |
PLUMED_GCH_CPP20_CONSTEXPR iterator | insert (const_iterator pos, size_type count, const_reference value) |
PLUMED_GCH_CPP20_CONSTEXPR iterator | insert (const_iterator pos, std::initializer_list< value_type > ilist) |
PLUMED_GCH_CPP20_CONSTEXPR iterator | insert (const_iterator pos, value_type &&value) |
PLUMED_GCH_CPP14_CONSTEXPR size_type | max_size (void) const noexcept |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | operator= (const small_vector &other) |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | operator= (small_vector &&other) noexcept((std::is_same< std::allocator< value_type >, Allocator >::value||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value) &&((std::is_nothrow_move_assignable< value_type >::value &&std::is_nothrow_move_constructible< value_type >::value)||InlineCapacity==0)) |
PLUMED_GCH_CPP20_CONSTEXPR small_vector & | operator= (std::initializer_list< value_type > ilist) |
PLUMED_GCH_CPP14_CONSTEXPR reference | operator[] (size_type pos) |
constexpr const_reference | operator[] (size_type pos) const |
PLUMED_GCH_CPP20_CONSTEXPR void | pop_back (void) |
PLUMED_GCH_CPP20_CONSTEXPR void | push_back (const_reference value) |
PLUMED_GCH_CPP20_CONSTEXPR void | push_back (value_type &&value) |
constexpr const_reverse_iterator | rbegin (void) const noexcept |
PLUMED_GCH_CPP14_CONSTEXPR reverse_iterator | rbegin (void) noexcept |
constexpr const_reverse_iterator | rend (void) const noexcept |
PLUMED_GCH_CPP14_CONSTEXPR reverse_iterator | rend (void) noexcept |
PLUMED_GCH_CPP20_CONSTEXPR void | reserve (size_type new_capacity) |
PLUMED_GCH_CPP20_CONSTEXPR void | resize (size_type count) |
PLUMED_GCH_CPP20_CONSTEXPR void | resize (size_type count, const_reference value) |
PLUMED_GCH_CPP20_CONSTEXPR void | shrink_to_fit (void) |
constexpr size_type | size (void) const noexcept |
template<typename ValueType = value_type, typename std::enable_if<(std::is_move_constructible< ValueType >::value &&std::is_move_assignable< ValueType >::value)||((std::is_same< std::allocator< value_type >, Allocator >::value||std::allocator_traits< Allocator >::propagate_on_container_swap::value) &&InlineCapacity==0) >::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR void | swap (small_vector &other) noexcept((std::is_same< std::allocator< value_type >, Allocator >::value||std::allocator_traits< Allocator >::propagate_on_container_swap::value) &&((std::is_nothrow_move_constructible< value_type >::value &&std::is_nothrow_move_assignable< value_type >::value &&detail::small_vector_adl::is_nothrow_swappable< value_type >::value)||InlineCapacity==0)) |
Static Public Member Functions | |
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL size_type | inline_capacity (void) noexcept |
Static Public Attributes | |
static constexpr unsigned | inline_capacity_v = InlineCapacity |
Private Types | |
using | alloc_base = allocator_inliner<Allocator> |
using | alloc_interface = allocator_interface<Allocator> |
using | alloc_traits = typename alloc_interface::alloc_traits |
using | alloc_ty = Allocator |
using | base = detail::small_vector_base<Allocator, InlineCapacity> |
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 |
using | ptr = typename alloc_interface::ptr |
using | size_ty = typename alloc_interface::size_ty |
template<typename T> | |
using | underlying_if_enum_t = typename underlying_if_enum<T>::type |
using | value_ty = typename alloc_interface::value_ty |
template<typename ...> | |
using | void_t = void |
using | vptr = typename alloc_traits::void_pointer |
Private Member Functions | |
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) |
PLUMED_GCH_NODISCARD constexpr cptr | allocation_end_ptr (void) const noexcept |
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr | allocation_end_ptr (void) noexcept |
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 constexpr cptr | begin_ptr (void) const noexcept |
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr | begin_ptr (void) noexcept |
PLUMED_GCH_CPP20_CONSTEXPR ptr | checked_allocate (size_ty n) |
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, 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 |
PLUMED_GCH_NODISCARD constexpr alloc_ty | copy_allocator (void) const 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_base & | copy_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_base & | copy_assign (const small_vector_base< Allocator, I > &other) |
template<unsigned I> | |
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base & | copy_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_NODISCARD constexpr 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) |
PLUMED_GCH_CPP20_CONSTEXPR void | decrease_size (size_ty n) noexcept |
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 |
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_NODISCARD constexpr cptr | end_ptr (void) const noexcept |
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr | end_ptr (void) noexcept |
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 constexpr size_ty | get_capacity (void) const noexcept |
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP20_CONSTEXPR size_ty | get_max_size (void) const noexcept |
PLUMED_GCH_NODISCARD constexpr size_ty | get_size (void) const noexcept |
PLUMED_GCH_NODISCARD constexpr bool | has_allocation (void) const noexcept |
PLUMED_GCH_CPP20_CONSTEXPR void | increase_size (size_ty n) 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) |
PLUMED_GCH_NODISCARD constexpr bool | is_inlinable (void) const noexcept |
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_base & | move_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_base & | move_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_base & | move_assign_default (small_vector_base &&other) noexcept |
template<unsigned GreaterI, typename std::enable_if<(InlineCapacity< GreaterI)>::type * = nullptr> | |
PLUMED_GCH_CPP20_CONSTEXPR small_vector_base & | move_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_base & | move_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_base & | move_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 constexpr size_ty | num_uninitialized (void) const noexcept |
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) |
PLUMED_GCH_CPP20_CONSTEXPR void | reset_data (ptr data_ptr, size_ty capacity, size_ty size) |
template<typename ... ValueT> | |
PLUMED_GCH_CPP20_CONSTEXPR void | resize_with (size_ty new_size, const ValueT &... val) |
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_default (void) |
PLUMED_GCH_CPP20_CONSTEXPR void | set_size (size_ty size) noexcept |
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) |
PLUMED_GCH_NODISCARD constexpr cptr | storage_ptr (void) const noexcept |
PLUMED_GCH_NODISCARD PLUMED_GCH_CPP14_CONSTEXPR ptr | storage_ptr (void) 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 |
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_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_size (small_vector_base &other) noexcept |
PLUMED_GCH_CPP20_CONSTEXPR void | swap_unequal_no_propagate (small_vector_base &other) |
PLUMED_GCH_CPP20_CONSTEXPR ptr | unchecked_allocate (size_ty n) |
PLUMED_GCH_CPP20_CONSTEXPR ptr | unchecked_allocate (size_ty n, cptr hint) |
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) |
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 |
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_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) |
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_ty * | to_address (const value_ty *p) noexcept |
static constexpr value_ty * | to_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 Attributes | |
small_vector_data< ptr, size_type, value_ty, InlineCapacity > | m_data |
Static Private Attributes | |
static constexpr struct PLMD::gch::detail::small_vector_base::bypass_tag | bypass |
Friends | |
template<typename SameT, unsigned DifferentInlineCapacity, typename SameAllocator> | |
class | small_vector |
|
privateinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::allocator_type = Allocator |
|
private |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_iterator = small_vector_iterator<const_pointer, difference_type> |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_reference = const value_type& |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::difference_type = typename base::difference_type |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::iterator = small_vector_iterator<pointer, difference_type> |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::pointer = typename std::allocator_traits<allocator_type>::pointer |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::reference = value_type& |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::reverse_iterator = std::reverse_iterator<iterator> |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::size_type = typename base::size_type |
|
privateinherited |
|
protectedinherited |
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::value_type = T |
|
protectedinherited |
|
protectedinherited |
|
defaultnoexcept |
|
inline |
|
inlinenoexcept |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineexplicit |
|
inlineexplicitnoexcept |
|
inline |
|
inline |
|
default |
|
inlineinherited |
|
inlineinherited |
|
inlineconstexprnoexceptinherited |
|
inlinenoexceptinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineconstexprnoexceptinherited |
|
inlinenoexceptinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineprivateinherited |
|
inlineprotectedinherited |
|
inlinenoexcept |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlinestaticprivatenoexceptinherited |
|
inlineconstexprnoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineconstexprnoexceptinherited |
|
inlinenoexceptinherited |
|
inlineprotectedinherited |
|
inlineprivatenoexceptinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlinestaticprivatenoexceptinherited |
|
inlinestaticprivatenoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inline |
|
inlineprotectedinherited |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineconstexprnoexceptinherited |
|
inlinenoexceptinherited |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticinherited |
|
inlinestaticinherited |
|
inline |
|
inlineconstexpr |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineconstexprnoexceptinherited |
|
inlineconstexprnoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineconstexprnoexcept |
|
inlinestaticnoexcept |
|
inlineconstexprnoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlineconstexprnoexceptinherited |
|
inlinenoexcept |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineconstexprnoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inline |
|
inlinenoexcept |
|
inline |
|
inline |
|
inlineconstexpr |
|
inline |
|
inlineprotectednoexceptinherited |
|
inline |
|
inline |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
|
inlineprotectedinherited |
|
inline |
|
inlineprivateinherited |
|
inline |
|
inline |
|
inlineprotectedinherited |
|
inlineprivatenoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineinherited |
|
inlineprivatenoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inline |
|
inlineprotectedinherited |
|
inlineconstexprnoexcept |
|
inlineconstexprnoexceptinherited |
|
inlinenoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlinenoexcept |
|
inlineprivatenoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprivatenoexceptinherited |
|
inlineprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticprotectedinherited |
|
inlinestaticinherited |
|
inlinestaticconstexprprotectednoexceptinherited |
|
inlinestaticconstexprprotectednoexceptinherited |
|
inlinestaticconstexprprotectednoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlineprivateinherited |
|
inlineprivateinherited |
|
inlineprotectednoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlinestaticprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectednoexceptinherited |
|
inlineprotectedinherited |
|
inlineprivateinherited |
|
friend |
|
staticinherited |
|
staticconstexpr |
|
privateinherited |
Hosted by GitHub
![]() |
![]() |