Pigweed
 
Loading...
Searching...
No Matches
pw::BasicInlineDeque< ValueType, SizeType, kCapacity > Class Template Reference
Inheritance diagram for pw::BasicInlineDeque< ValueType, SizeType, kCapacity >:
pw::BasicInlineDequeStorage< ValueType, SizeType, kCapacity, kIsTriviallyDestructible >

Public Types

using const_iterator = inline_circular_buffer_impl::InlineDequeIterator< value_type, size_type, inline_circular_buffer_impl::Constness::kConst >
 
using const_pointer = const value_type *
 
using const_reference = const value_type &
 
using difference_type = ptrdiff_t
 
using iterator = inline_circular_buffer_impl::InlineDequeIterator< value_type, size_type, inline_circular_buffer_impl::Constness::kMutable >
 
using pointer = value_type *
 
using reference = value_type &
 
using size_type = SizeType
 
using value_type = ValueType
 

Public Member Functions

 BasicInlineDeque () noexcept
 Constructs with zero elements.
 
constexpr BasicInlineDeque (ConstexprTag) noexcept
 
 BasicInlineDeque (size_type count, const_reference value)
 Constructs with count copies of value.
 
 BasicInlineDeque (size_type count)
 Constructs with count default-initialized elements.
 
template<typename InputIterator , typename = containers::internal::EnableIfInputIterator<InputIterator>>
 BasicInlineDeque (InputIterator start, InputIterator finish)
 Copy constructs from an iterator.
 
 BasicInlineDeque (const BasicInlineDeque &other)
 Copy constructs for matching capacity.
 
template<size_t kOtherCapacity>
 BasicInlineDeque (const BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &other)
 
 BasicInlineDeque (BasicInlineDeque &&other) noexcept
 Move constructs for matching capacity.
 
template<size_t kOtherCapacity>
 BasicInlineDeque (BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &&other) noexcept
 Move constructs for mismatched capacity.
 
 BasicInlineDeque (const std::initializer_list< value_type > &list)
 Copy constructs from an initializer list.
 
template<typename T , typename = containers::internal::EnableIfIterable<T>>
 BasicInlineDeque (const T &other)
 Copy constructor for arbitrary iterables.
 
BasicInlineDequeoperator= (const std::initializer_list< value_type > &list)
 Copy assigns from list.
 
BasicInlineDequeoperator= (const BasicInlineDeque &other)
 Copy assigns for matching capacity.
 
template<size_t kOtherCapacity>
BasicInlineDequeoperator= (const BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &other)
 
BasicInlineDequeoperator= (BasicInlineDeque &&other) noexcept
 Move assigns for matching capacity.
 
template<size_t kOtherCapacity>
BasicInlineDequeoperator= (BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &&other) noexcept
 Move assigns for mismatched capacity.
 
template<typename T , typename = containers::internal::EnableIfIterable<T>>
BasicInlineDequeoperator= (const T &other)
 

Static Public Member Functions

static constexpr size_type max_size ()
 
static constexpr size_type capacity ()
 

Friends

class BasicInlineDeque< value_type, size_type, containers::internal::kGenericSized >
 

Constructor & Destructor Documentation

◆ BasicInlineDeque()

template<typename ValueType , typename SizeType , size_t kCapacity = containers::internal::kGenericSized>
template<size_t kOtherCapacity>
pw::BasicInlineDeque< ValueType, SizeType, kCapacity >::BasicInlineDeque ( const BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &  other)
inline

Copy constructs for mismatched capacity.

Note that this will result in a crash if kOtherCapacity < size().

Member Function Documentation

◆ operator=()

template<typename ValueType , typename SizeType , size_t kCapacity = containers::internal::kGenericSized>
template<size_t kOtherCapacity>
BasicInlineDeque & pw::BasicInlineDeque< ValueType, SizeType, kCapacity >::operator= ( const BasicInlineDeque< ValueType, SizeType, kOtherCapacity > &  other)
inline

Copy assigns for mismatched capacity.

Note that this will result in a crash if kOtherCapacity < size().


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