Sleipnir C++ API
Loading...
Searching...
No Matches
sleipnir::small_vector< T, InlineCapacity, Allocator > Class Template Reference

#include <sleipnir/util/small_vector.hpp>

Inherits sleipnir::detail::small_vector_base< Allocator, InlineCapacity >.

Public Types

using value_type = T
 
using allocator_type = Allocator
 
using size_type = typename base::size_type
 
using difference_type = typename base::difference_type
 
using reference = value_type &
 
using const_reference = const value_type &
 
using pointer = typename std::allocator_traits< allocator_type >::pointer
 
using const_pointer = typename std::allocator_traits< allocator_type >::const_pointer
 
using iterator = small_vector_iterator< pointer, difference_type >
 
using const_iterator = small_vector_iterator< const_pointer, difference_type >
 
using reverse_iterator = std::reverse_iterator< iterator >
 
using const_reverse_iterator = std::reverse_iterator< const_iterator >
 

Public Member Functions

constexpr small_vector () noexcept(noexcept(allocator_type()))=default
 
constexpr small_vector (const small_vector &other)
 
constexpr small_vector (small_vector &&other) noexcept(std::is_nothrow_move_constructible_v< value_type >||InlineCapacity==0)
 
constexpr small_vector (const allocator_type &alloc) noexcept
 
constexpr small_vector (const small_vector &other, const allocator_type &alloc)
 
constexpr small_vector (small_vector &&other, const allocator_type &alloc)
 
constexpr small_vector (size_type count, const allocator_type &alloc=allocator_type())
 
constexpr small_vector (size_type count, const_reference value, const allocator_type &alloc=allocator_type())
 
template<typename Generator >
requires std::invocable<Generator&> && EmplaceConstructible<std::invoke_result_t<Generator&>>
::value constexpr small_vector (size_type count, Generator g, const allocator_type &alloc=allocator_type())
 
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&std::forward_iterator< InputIt > MoveInsertable constexpr small_vector (InputIt first, InputIt last, const allocator_type &alloc=allocator_type())
 
constexpr small_vector (std::initializer_list< value_type > init, const allocator_type &alloc=allocator_type())
 
template<unsigned I>
requires CopyInsertable
constexpr small_vector (const small_vector< T, I, Allocator > &other)
 
template<unsigned I>
requires MoveInsertable
constexpr small_vector (small_vector< T, I, Allocator > &&other) noexcept(std::is_nothrow_move_constructible< value_type >::value &&I< InlineCapacity)
 
template<unsigned I>
requires CopyInsertable
constexpr small_vector (const small_vector< T, I, Allocator > &other, const allocator_type &alloc)
 
template<unsigned I>
requires MoveInsertable
constexpr small_vector (small_vector< T, I, Allocator > &&other, const allocator_type &alloc)
 
constexpr ~small_vector ()=default
 
constexpr small_vectoroperator= (const small_vector &other) &&CopyAssignable
 
constexpr small_vectoroperator= (small_vector &&other) noexcept((std::is_same_v< std::allocator< value_type >, Allocator >||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value||std::allocator_traits< Allocator >::is_always_equal::value) &&((std::is_nothrow_move_assignable_v< value_type > &&std::is_nothrow_move_constructible_v< value_type >)||InlineCapacity==0)) &&MoveAssignable
 
constexpr small_vectoroperator= (std::initializer_list< value_type > ilist) &&CopyAssignable
 
constexpr void assign (size_type count, const_reference value) &&CopyAssignable
 
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&std::forward_iterator< InputIt > MoveInsertable constexpr void assign (InputIt first, InputIt last)
 
constexpr void assign (std::initializer_list< value_type > ilist)
 
constexpr void assign (small_vector &&other) noexcept((std::is_same_v< std::allocator< value_type >, Allocator >||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value||std::allocator_traits< Allocator >::is_always_equal::value) &&((std::is_nothrow_move_assignable_v< value_type > &&std::is_nothrow_move_constructible_v< value_type >)||InlineCapacity==0)) &&MoveAssignable
 
template<unsigned I>
requires MoveInsertable
&&MoveAssignable constexpr void assign (small_vector< T, I, Allocator > &&other) noexcept(I<=InlineCapacity &&(std::is_same_v< std::allocator< value_type >, Allocator >||std::allocator_traits< Allocator >::propagate_on_container_move_assignment::value||std::allocator_traits< Allocator >::is_always_equal::value) &&std::is_nothrow_move_assignable_v< value_type > &&std::is_nothrow_move_constructible_v< value_type >)
 
constexpr void swap (small_vector &other) noexcept((std::is_same_v< std::allocator< value_type >, Allocator >||std::allocator_traits< Allocator >::propagate_on_container_swap::value||std::allocator_traits< Allocator >::is_always_equal::value) &&((std::is_nothrow_move_constructible_v< value_type > &&std::is_nothrow_move_assignable_v< value_type > &&std::is_nothrow_swappable_v< value_type >)||InlineCapacity==0))
 
constexpr iterator begin () noexcept
 
constexpr const_iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr iterator end () noexcept
 
constexpr const_iterator end () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr reverse_iterator rbegin () noexcept
 
constexpr const_reverse_iterator rbegin () const noexcept
 
constexpr const_reverse_iterator crbegin () const noexcept
 
constexpr reverse_iterator rend () noexcept
 
constexpr const_reverse_iterator rend () const noexcept
 
constexpr const_reverse_iterator crend () const noexcept
 
constexpr reference at (size_type pos)
 
constexpr const_reference at (size_type pos) const
 
constexpr reference operator[] (size_type pos)
 
constexpr const_reference operator[] (size_type pos) const
 
constexpr reference front ()
 
constexpr const_reference front () const
 
constexpr reference back ()
 
constexpr const_reference back () const
 
constexpr pointer data () noexcept
 
constexpr const_pointer data () const noexcept
 
constexpr size_type size () const noexcept
 
constexpr bool empty () const noexcept
 
constexpr size_type max_size () const noexcept
 
constexpr size_type capacity () const noexcept
 
constexpr allocator_type get_allocator () const noexcept
 
constexpr iterator insert (const_iterator pos, const_reference value) &&CopyAssignable
 
constexpr iterator insert (const_iterator pos, value_type &&value) &&MoveAssignable
 
constexpr iterator insert (const_iterator pos, size_type count, const_reference value) &&CopyAssignable
 
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&MoveInsertable &&MoveAssignable constexpr iterator insert (const_iterator pos, InputIt first, InputIt last)
 
constexpr iterator insert (const_iterator pos, std::initializer_list< value_type > ilist)
 
constexpr iterator erase (const_iterator pos) &&Erasable
 
constexpr iterator erase (const_iterator first, const_iterator last) &&Erasable
 
constexpr void push_back (const_reference value)
 
constexpr void push_back (value_type &&value)
 
template<typename... Args>
requires EmplaceConstructible<Args...>
::value &&MoveInsertable constexpr reference emplace_back (Args &&... args)
 
constexpr void pop_back ()
 
constexpr void reserve (size_type new_capacity)
 
constexpr void shrink_to_fit ()
 
constexpr void clear () noexcept
 
constexpr void resize (size_type count) &&DefaultInsertable
 
constexpr void resize (size_type count, const_reference value)
 
constexpr bool inlined () const noexcept
 
constexpr bool inlinable () const noexcept
 
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&MoveInsertable constexpr small_vectorappend (InputIt first, InputIt last)
 

Static Public Member Functions

static consteval size_type inline_capacity () noexcept
 

Static Public Attributes

static constexpr unsigned inline_capacity_v = 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 sleipnir::small_vector< T, InlineCapacity, Allocator >::allocator_type = Allocator

◆ const_iterator

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

◆ const_pointer

template<typename T , unsigned InlineCapacity, typename Allocator >
using sleipnir::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 sleipnir::small_vector< T, InlineCapacity, Allocator >::const_reference = const value_type&

◆ const_reverse_iterator

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

◆ difference_type

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

◆ iterator

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

◆ pointer

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

◆ reference

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

◆ reverse_iterator

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

◆ size_type

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

◆ value_type

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

Constructor & Destructor Documentation

◆ small_vector() [1/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( )
constexprdefaultnoexcept

◆ small_vector() [2/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, InlineCapacity, Allocator > &  other)
inlineconstexpr

◆ small_vector() [3/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, InlineCapacity, Allocator > &&  other)
inlineconstexprnoexcept

◆ small_vector() [4/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( const allocator_type alloc)
inlineexplicitconstexprnoexcept

◆ small_vector() [5/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, InlineCapacity, Allocator > &  other,
const allocator_type alloc 
)
inlineconstexpr

◆ small_vector() [6/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, InlineCapacity, Allocator > &&  other,
const allocator_type alloc 
)
inlineconstexpr

◆ small_vector() [7/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
const allocator_type alloc = allocator_type() 
)
inlineexplicitconstexpr

◆ small_vector() [8/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
const_reference  value,
const allocator_type alloc = allocator_type() 
)
inlineconstexpr

◆ small_vector() [9/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename Generator >
requires std::invocable<Generator&> && EmplaceConstructible<std::invoke_result_t<Generator&>>
::value constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( size_type  count,
Generator  g,
const allocator_type alloc = allocator_type() 
)
inlineconstexpr

◆ small_vector() [10/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&std::forward_iterator< InputIt > MoveInsertable constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( InputIt  first,
InputIt  last,
const allocator_type alloc = allocator_type() 
)
inlineconstexpr

◆ small_vector() [11/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( std::initializer_list< value_type init,
const allocator_type alloc = allocator_type() 
)
inlineconstexpr

◆ small_vector() [12/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
requires CopyInsertable
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, I, Allocator > &  other)
inlineexplicitconstexpr

◆ small_vector() [13/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
requires MoveInsertable
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, I, Allocator > &&  other)
inlineexplicitconstexprnoexcept

◆ small_vector() [14/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
requires CopyInsertable
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( const small_vector< T, I, Allocator > &  other,
const allocator_type alloc 
)
inlineconstexpr

◆ small_vector() [15/15]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
requires MoveInsertable
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::small_vector ( small_vector< T, I, Allocator > &&  other,
const allocator_type alloc 
)
inlineconstexpr

◆ ~small_vector()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr sleipnir::small_vector< T, InlineCapacity, Allocator >::~small_vector ( )
constexprdefault

Member Function Documentation

◆ append()

template<typename T , unsigned InlineCapacity, typename Allocator >
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&MoveInsertable constexpr small_vector & sleipnir::small_vector< T, InlineCapacity, Allocator >::append ( InputIt  first,
InputIt  last 
)
inlineconstexpr

◆ assign() [1/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&std::forward_iterator< InputIt > MoveInsertable constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::assign ( InputIt  first,
InputIt  last 
)
inlineconstexpr

◆ assign() [2/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::assign ( size_type  count,
const_reference  value 
) &&
inlineconstexpr

◆ assign() [3/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::assign ( small_vector< T, InlineCapacity, Allocator > &&  other) &&
inlineconstexprnoexcept

◆ assign() [4/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<unsigned I>
requires MoveInsertable
&&MoveAssignable constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::assign ( small_vector< T, I, Allocator > &&  other)
inlineconstexprnoexcept

◆ assign() [5/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::assign ( std::initializer_list< value_type ilist)
inlineconstexpr

◆ at() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reference sleipnir::small_vector< T, InlineCapacity, Allocator >::at ( size_type  pos)
inlineconstexpr

◆ at() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr const_reference sleipnir::small_vector< T, InlineCapacity, Allocator >::at ( size_type  pos) const
inlineconstexpr

◆ back() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reference sleipnir::small_vector< T, InlineCapacity, Allocator >::back ( )
inlineconstexpr

◆ back() [2/2]

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

◆ begin() [1/2]

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

◆ begin() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::begin ( )
inlineconstexprnoexcept

◆ capacity()

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

◆ cbegin()

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

◆ cend()

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

◆ clear()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::clear ( )
inlineconstexprnoexcept

◆ crbegin()

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

◆ crend()

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

◆ data() [1/2]

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

◆ data() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr pointer sleipnir::small_vector< T, InlineCapacity, Allocator >::data ( )
inlineconstexprnoexcept

◆ emplace_back()

template<typename T , unsigned InlineCapacity, typename Allocator >
template<typename... Args>
requires EmplaceConstructible<Args...>
::value &&MoveInsertable constexpr reference sleipnir::small_vector< T, InlineCapacity, Allocator >::emplace_back ( Args &&...  args)
inlineconstexpr

◆ empty()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr bool sleipnir::small_vector< T, InlineCapacity, Allocator >::empty ( ) const
inlineconstexprnoexcept

◆ end() [1/2]

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

◆ end() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::end ( )
inlineconstexprnoexcept

◆ erase() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::erase ( const_iterator  first,
const_iterator  last 
) &&
inlineconstexpr

◆ erase() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::erase ( const_iterator  pos) &&
inlineconstexpr

◆ front() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reference sleipnir::small_vector< T, InlineCapacity, Allocator >::front ( )
inlineconstexpr

◆ front() [2/2]

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

◆ get_allocator()

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

◆ inlinable()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr bool sleipnir::small_vector< T, InlineCapacity, Allocator >::inlinable ( ) const
inlineconstexprnoexcept

◆ inline_capacity()

template<typename T , unsigned InlineCapacity, typename Allocator >
static consteval size_type sleipnir::small_vector< T, InlineCapacity, Allocator >::inline_capacity ( )
inlinestaticnoexcept

◆ inlined()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr bool sleipnir::small_vector< T, InlineCapacity, Allocator >::inlined ( ) const
inlineconstexprnoexcept

◆ insert() [1/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
const_reference  value 
) &&
inlineconstexpr

◆ insert() [2/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
template<std::input_iterator InputIt>
requires EmplaceConstructible<std::iter_reference_t<InputIt>>
::value &&MoveInsertable &&MoveAssignable constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
InputIt  first,
InputIt  last 
)
inlineconstexpr

◆ insert() [3/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
size_type  count,
const_reference  value 
) &&
inlineconstexpr

◆ insert() [4/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
std::initializer_list< value_type ilist 
)
inlineconstexpr

◆ insert() [5/5]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::insert ( const_iterator  pos,
value_type &&  value 
) &&
inlineconstexpr

◆ max_size()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr size_type sleipnir::small_vector< T, InlineCapacity, Allocator >::max_size ( ) const
inlineconstexprnoexcept

◆ operator=() [1/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr small_vector & sleipnir::small_vector< T, InlineCapacity, Allocator >::operator= ( const small_vector< T, InlineCapacity, Allocator > &  other) &&
inlineconstexpr

◆ operator=() [2/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr small_vector & sleipnir::small_vector< T, InlineCapacity, Allocator >::operator= ( small_vector< T, InlineCapacity, Allocator > &&  other) &&
inlineconstexprnoexcept

◆ operator=() [3/3]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr small_vector & sleipnir::small_vector< T, InlineCapacity, Allocator >::operator= ( std::initializer_list< value_type ilist) &&
inlineconstexpr

◆ operator[]() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reference sleipnir::small_vector< T, InlineCapacity, Allocator >::operator[] ( size_type  pos)
inlineconstexpr

◆ operator[]() [2/2]

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

◆ pop_back()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::pop_back ( )
inlineconstexpr

◆ push_back() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::push_back ( const_reference  value)
inlineconstexpr

◆ push_back() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::push_back ( value_type &&  value)
inlineconstexpr

◆ rbegin() [1/2]

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

◆ rbegin() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reverse_iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::rbegin ( )
inlineconstexprnoexcept

◆ rend() [1/2]

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

◆ rend() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr reverse_iterator sleipnir::small_vector< T, InlineCapacity, Allocator >::rend ( )
inlineconstexprnoexcept

◆ reserve()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::reserve ( size_type  new_capacity)
inlineconstexpr

◆ resize() [1/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::resize ( size_type  count) &&
inlineconstexpr

◆ resize() [2/2]

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::resize ( size_type  count,
const_reference  value 
)
inlineconstexpr

◆ shrink_to_fit()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::shrink_to_fit ( )
inlineconstexpr

◆ size()

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

◆ swap()

template<typename T , unsigned InlineCapacity, typename Allocator >
constexpr void sleipnir::small_vector< T, InlineCapacity, Allocator >::swap ( small_vector< T, InlineCapacity, Allocator > &  other)
inlineconstexprnoexcept

Friends And Related Symbol 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 sleipnir::small_vector< T, InlineCapacity, Allocator >::inline_capacity_v = InlineCapacity
staticconstexpr

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