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

#include <small_vector.h>

Inheritance diagram for PLMD::gch::small_vector< T, InlineCapacity, Allocator >:
Inheritance graph
[legend]

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_vectorappend (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_vectorappend (InputIt first, InputIt last)
 
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vectorappend (small_vector< T, I, Allocator > &&other)
 
PLUMED_GCH_CPP20_CONSTEXPR small_vectorappend (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)
 
constexpr PLUMED_GCH_NODISCARD 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
 
constexpr PLUMED_GCH_NODISCARD bool inlinable (void) const noexcept
 
constexpr PLUMED_GCH_NODISCARD 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_vectoroperator= (const small_vector &other)
 
PLUMED_GCH_CPP20_CONSTEXPR small_vectoroperator= (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_vectoroperator= (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 base = detail::small_vector_base< Allocator, InlineCapacity >
 

Friends

template<typename SameT , unsigned DifferentInlineCapacity, typename SameAllocator >
class small_vector
 

Member Typedef Documentation

◆ allocator_type

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::allocator_type = Allocator

◆ base

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::base = detail::small_vector_base<Allocator, InlineCapacity>
private

◆ const_iterator

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_iterator = small_vector_iterator<const_pointer, difference_type>

◆ const_pointer

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_pointer = typename std::allocator_traits<allocator_type>::const_pointer

◆ const_reference

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_reference = const value_type&

◆ const_reverse_iterator

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::const_reverse_iterator = std::reverse_iterator<const_iterator>

◆ difference_type

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::difference_type = typename base::difference_type

◆ iterator

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::iterator = small_vector_iterator<pointer, difference_type>

◆ pointer

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::pointer = typename std::allocator_traits<allocator_type>::pointer

◆ reference

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::reference = value_type&

◆ reverse_iterator

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::reverse_iterator = std::reverse_iterator<iterator>

◆ size_type

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::size_type = typename base::size_type

◆ value_type

template<typename T , unsigned InlineCapacity, typename Allocator >
using PLMD::gch::small_vector< T, InlineCapacity, Allocator >::value_type = T

Constructor & Destructor Documentation

◆ small_vector() [1/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( void  )
defaultnoexcept

◆ small_vector() [2/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, InlineCapacity, Allocator > &  other)
inline

◆ small_vector() [3/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, InlineCapacity, Allocator > &&  other)
inlinenoexcept

◆ small_vector() [4/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( const allocator_type alloc)
inlineexplicitnoexcept

◆ small_vector() [5/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, InlineCapacity, Allocator > &  other,
const allocator_type alloc 
)
inline

◆ small_vector() [6/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, InlineCapacity, Allocator > &&  other,
const allocator_type alloc 
)
inline

◆ small_vector() [7/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
const allocator_type alloc = allocator_type () 
)
inlineexplicit

◆ small_vector() [8/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
const_reference  value,
const allocator_type alloc = allocator_type () 
)
inline

◆ small_vector() [9/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename Generator , typename std::enable_if< ! std::is_convertible< Generator, const_reference >::value >::type * = nullptr>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
Generator  g,
const allocator_type alloc = allocator_type () 
)
inline

◆ small_vector() [10/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
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 PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( InputIt  first,
InputIt  last,
const allocator_type alloc = allocator_type () 
)
inline

◆ small_vector() [11/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( std::initializer_list< value_type init,
const allocator_type alloc = allocator_type () 
)
inline

◆ small_vector() [12/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, I, Allocator > &  other)
inlineexplicit

◆ small_vector() [13/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, I, Allocator > &&  other)
inlineexplicitnoexcept

◆ small_vector() [14/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, I, Allocator > &  other,
const allocator_type alloc 
)
inline

◆ small_vector() [15/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, I, Allocator > &&  other,
const allocator_type alloc 
)
inline

◆ ~small_vector()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR PLMD::gch::small_vector< T, InlineCapacity, Allocator >::~small_vector ( void  )
default

Member Function Documentation

◆ append() [1/4]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::append ( const small_vector< T, I, Allocator > &  other)
inline

◆ append() [2/4]

template<typename T , unsigned InlineCapacity, typename Allocator >
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& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::append ( InputIt  first,
InputIt  last 
)
inline

◆ append() [3/4]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::append ( small_vector< T, I, Allocator > &&  other)
inline

◆ append() [4/4]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::append ( std::initializer_list< value_type ilist)
inline

◆ assign() [1/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( const small_vector< T, InlineCapacity, Allocator > &  other)
inline

◆ assign() [2/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( const small_vector< T, I, Allocator > &  other)
inline

◆ assign() [3/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
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 PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( InputIt  first,
InputIt  last 
)
inline

◆ assign() [4/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( size_type  count,
const_reference  value 
)
inline

◆ assign() [5/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( small_vector< T, InlineCapacity, Allocator > &&  other)
inlinenoexcept

◆ assign() [6/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( small_vector< T, I, Allocator > &&  other)
inlinenoexcept

◆ assign() [7/7]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::assign ( std::initializer_list< value_type ilist)
inline

◆ at() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::at ( size_type  pos)
inline

◆ at() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR const_reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::at ( size_type  pos) const
inline

◆ back() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::back ( void  )
inline

◆ back() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::back ( void  ) const
inlineconstexpr

◆ begin() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::begin ( void  ) const
inlineconstexprnoexcept

◆ begin() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::begin ( void  )
inlinenoexcept

◆ capacity()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr size_type PLMD::gch::small_vector< T, InlineCapacity, Allocator >::capacity ( void  ) const
inlineconstexprnoexcept

◆ cbegin()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::cbegin ( void  ) const
inlineconstexprnoexcept

◆ cend()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::cend ( void  ) const
inlineconstexprnoexcept

◆ clear()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::clear ( void  )
inlinenoexcept

◆ crbegin()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::crbegin ( void  ) const
inlineconstexprnoexcept

◆ crend()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::crend ( void  ) const
inlineconstexprnoexcept

◆ data() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_pointer PLMD::gch::small_vector< T, InlineCapacity, Allocator >::data ( void  ) const
inlineconstexprnoexcept

◆ data() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR pointer PLMD::gch::small_vector< T, InlineCapacity, Allocator >::data ( void  )
inlinenoexcept

◆ emplace()

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::emplace ( const_iterator  pos,
Args &&...  args 
)
inline

◆ emplace_back()

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename ... Args>
PLUMED_GCH_CPP20_CONSTEXPR reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::emplace_back ( Args &&...  args)
inline

◆ empty()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr PLUMED_GCH_NODISCARD bool PLMD::gch::small_vector< T, InlineCapacity, Allocator >::empty ( void  ) const
inlineconstexprnoexcept

◆ end() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::end ( void  ) const
inlineconstexprnoexcept

◆ end() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::end ( void  )
inlinenoexcept

◆ erase() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::erase ( const_iterator  first,
const_iterator  last 
)
inline

◆ erase() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::erase ( const_iterator  pos)
inline

◆ front() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::front ( void  )
inline

◆ front() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::front ( void  ) const
inlineconstexpr

◆ get_allocator()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr allocator_type PLMD::gch::small_vector< T, InlineCapacity, Allocator >::get_allocator ( void  ) const
inlineconstexprnoexcept

◆ inlinable()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr PLUMED_GCH_NODISCARD bool PLMD::gch::small_vector< T, InlineCapacity, Allocator >::inlinable ( void  ) const
inlineconstexprnoexcept

◆ inline_capacity()

template<typename T , unsigned InlineCapacity, typename Allocator >
static PLUMED_GCH_NODISCARD PLUMED_GCH_CONSTEVAL size_type PLMD::gch::small_vector< T, InlineCapacity, Allocator >::inline_capacity ( void  )
inlinestaticnoexcept

◆ inlined()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr PLUMED_GCH_NODISCARD bool PLMD::gch::small_vector< T, InlineCapacity, Allocator >::inlined ( void  ) const
inlineconstexprnoexcept

◆ insert() [1/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
const_reference  value 
)
inline

◆ insert() [2/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
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 PLMD::gch::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
InputIt  first,
InputIt  last 
)
inline

◆ insert() [3/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
size_type  count,
const_reference  value 
)
inline

◆ insert() [4/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
std::initializer_list< value_type ilist 
)
inline

◆ insert() [5/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
value_type &&  value 
)
inline

◆ max_size()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR size_type PLMD::gch::small_vector< T, InlineCapacity, Allocator >::max_size ( void  ) const
inlinenoexcept

◆ operator=() [1/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::operator= ( const small_vector< T, InlineCapacity, Allocator > &  other)
inline

◆ operator=() [2/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::operator= ( small_vector< T, InlineCapacity, Allocator > &&  other)
inlinenoexcept

◆ operator=() [3/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR small_vector& PLMD::gch::small_vector< T, InlineCapacity, Allocator >::operator= ( std::initializer_list< value_type ilist)
inline

◆ operator[]() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::operator[] ( size_type  pos)
inline

◆ operator[]() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reference PLMD::gch::small_vector< T, InlineCapacity, Allocator >::operator[] ( size_type  pos) const
inlineconstexpr

◆ pop_back()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::pop_back ( void  )
inline

◆ push_back() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::push_back ( const_reference  value)
inline

◆ push_back() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::push_back ( value_type &&  value)
inline

◆ rbegin() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::rbegin ( void  ) const
inlineconstexprnoexcept

◆ rbegin() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::rbegin ( void  )
inlinenoexcept

◆ rend() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::rend ( void  ) const
inlineconstexprnoexcept

◆ rend() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP14_CONSTEXPR reverse_iterator PLMD::gch::small_vector< T, InlineCapacity, Allocator >::rend ( void  )
inlinenoexcept

◆ reserve()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::reserve ( size_type  new_capacity)
inline

◆ resize() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::resize ( size_type  count)
inline

◆ resize() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::resize ( size_type  count,
const_reference  value 
)
inline

◆ shrink_to_fit()

template<typename T , unsigned InlineCapacity, typename Allocator >
PLUMED_GCH_CPP20_CONSTEXPR void PLMD::gch::small_vector< T, InlineCapacity, Allocator >::shrink_to_fit ( void  )
inline

◆ size()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr size_type PLMD::gch::small_vector< T, InlineCapacity, Allocator >::size ( void  ) const
inlineconstexprnoexcept

◆ swap()

template<typename T , unsigned InlineCapacity, typename Allocator >
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 PLMD::gch::small_vector< T, InlineCapacity, Allocator >::swap ( small_vector< T, InlineCapacity, Allocator > &  other)
inlinenoexcept

Friends And Related Function Documentation

◆ small_vector

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename SameT , unsigned DifferentInlineCapacity, typename SameAllocator >
friend class small_vector
friend

Member Data Documentation

◆ inline_capacity_v

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr unsigned PLMD::gch::small_vector< T, InlineCapacity, Allocator >::inline_capacity_v = InlineCapacity
staticconstexpr

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