26template<
typename TAllocator>
27class TBoxes :
public std::vector<Box, lang::StdContainerAllocator<Box, TAllocator>>
31 using vectorBase= std::vector<Box, lang::StdContainerAllocator<Box, TAllocator>>;
74 template <
typename... TBoxables>
77 Box boxes[
sizeof...(args)]= { std::forward<TBoxables>( args )... };
103 template<
size_t TExtend>
116 template<
typename TAllocatorArgs>
141 template <
typename TBoxable>
153 template <
typename TBoxable>
165 return integer( vectorBase::size() );
175 vectorBase::reserve(
size_t( newCapacity ) );
188 template <
typename TFDecl,
typename... TArgs>
191 for(
auto& box : *
this )
192 box.template Call<TFDecl>( std::forward<TArgs>(args)... );
207 template <
typename TFDecl,
typename... TArgs>
210 for(
auto& box : *
this )
211 box.template Call<TFDecl>( std::forward<TArgs>(args)... );
226 for(
auto& box : *
this )
227 box.Clone( vectorBase::get_allocator().GetAllocator() );
TBoxes & operator<<(TBoxable &&src)
TBoxes & Add(TBoxables &&... args)
void CallAll(TArgs &&... args) const
TBoxes & Add(const Box &box)
TBoxes & Add(const TBoxes< TAllocatorArgs > &boxes)
TBoxes & Add(const Box(&boxArray)[TExtend])
std::vector< Box, lang::StdContainerAllocator< Box, TAllocator > > vectorBase
The allocator type that TAllocator specifies.
void CallAll(TArgs &&... args)
TBoxes()
Defaulted default constructor, usable only with heap allocation.
TBoxes & operator=(TBoxes &)=delete
TBoxes & operator+=(TBoxable &&src)
void AddArray(const Box *boxArray, integer length)
TAllocator AllocatorType
The allocator type that TAllocator specifies.
TBoxes(TBoxes &)=delete
Deleted copy constructor.
void Reserve(integer newCapacity)
TBoxes(TAllocator &pAllocator)
lang::integer integer
Type alias in namespace alib.
boxing::TBoxes< PoolAllocator > BoxesPA
Type alias in namespace alib.
boxing::Box Box
Type alias in namespace alib.
boxing::TBoxes< MonoAllocator > BoxesMA
Type alias in namespace alib.
boxing::TBoxes< lang::HeapAllocator > BoxesHA
Type alias in namespace alib.