neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc > Class Template Reference

#include <tag_array.hpp>

Inheritance diagram for neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >:
neolib::array_tree< Alloc >

Classes

class  const_iterator
 
class  iterator
 

Public Types

typedef T value_type
 
typedef value_typereference
 
typedef const value_typeconst_reference
 
typedef Alloc allocator_type
 
typedef std::allocator_traits< allocator_type >::pointer pointer
 
typedef std::allocator_traits< allocator_type >::const_pointer const_pointer
 
typedef std::allocator_traits< allocator_type >::size_type size_type
 
typedef std::allocator_traits< allocator_type >::difference_type difference_type
 
typedef node::tag_type tag_type
 
typedef std::reverse_iterator< iteratorreverse_iterator
 
typedef std::reverse_iterator< const_iteratorconst_reverse_iterator
 

Public Member Functions

 tag_array (const Alloc &aAllocator=Alloc())
 
 tag_array (const tag_type &aTag, const size_type aCount, const value_type &aValue, const Alloc &aAllocator=Alloc())
 
template<typename InputIterator >
 tag_array (const tag_type &aTag, InputIterator aFirst, InputIterator aLast, const Alloc &aAllocator=Alloc())
 
 ~tag_array ()
 
tag_arrayoperator= (const tag_array &aRhs)
 
bool operator== (const tag_array &aRhs) const
 
bool operator!= (const tag_array &aRhs) const
 
size_type size () const
 
bool empty () const
 
const_iterator begin () const
 
const_iterator end () const
 
iterator begin ()
 
iterator end ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator rend () const
 
reverse_iterator rbegin ()
 
reverse_iterator rend ()
 
const_reference front () const
 
reference front ()
 
const_reference back () const
 
reference back ()
 
iterator insert (const tag_type &aTag, const_iterator aPosition, const value_type &aValue)
 
const_reference operator[] (size_type aIndex) const
 
reference operator[] (size_type aIndex)
 
iterator insert (const_iterator aPosition, const_iterator aFirst, const_iterator aLast)
 
template<class InputIterator >
std::enable_if<!std::is_integral< InputIterator >::value, iterator >::type insert (const tag_type &aTag, const_iterator aPosition, InputIterator aFirst, InputIterator aLast)
 
iterator insert (const tag_type &aTag, const_iterator aPosition, size_type aCount, const value_type &aValue)
 
void clear ()
 
void push_front (const tag_type &aTag, const value_type &aValue)
 
void push_back (const tag_type &aTag, const value_type &aValue)
 
iterator erase (const_iterator aPosition)
 
iterator erase (const_iterator aFirst, const_iterator aLast)
 
void pop_front ()
 
void pop_back ()
 
void swap (tag_array &aOther)
 
const tag_typetag (const_iterator aWhere) const
 

Detailed Description

template<typename Tag, typename T, std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
class neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >

Definition at line 48 of file tag_array.hpp.

Member Typedef Documentation

◆ allocator_type

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef Alloc neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::allocator_type

Definition at line 55 of file tag_array.hpp.

◆ const_pointer

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::allocator_traits<allocator_type>::const_pointer neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::const_pointer

Definition at line 57 of file tag_array.hpp.

◆ const_reference

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef const value_type& neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::const_reference

Definition at line 54 of file tag_array.hpp.

◆ const_reverse_iterator

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::reverse_iterator<const_iterator> neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::const_reverse_iterator

Definition at line 348 of file tag_array.hpp.

◆ difference_type

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::allocator_traits<allocator_type>::difference_type neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::difference_type

Definition at line 59 of file tag_array.hpp.

◆ pointer

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::allocator_traits<allocator_type>::pointer neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::pointer

Definition at line 56 of file tag_array.hpp.

◆ reference

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef value_type& neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::reference

Definition at line 53 of file tag_array.hpp.

◆ reverse_iterator

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::reverse_iterator<iterator> neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::reverse_iterator

Definition at line 347 of file tag_array.hpp.

◆ size_type

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef std::allocator_traits<allocator_type>::size_type neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::size_type

Definition at line 58 of file tag_array.hpp.

◆ tag_type

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef node::tag_type neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::tag_type

Definition at line 99 of file tag_array.hpp.

◆ value_type

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
typedef T neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::value_type

Definition at line 52 of file tag_array.hpp.

Constructor & Destructor Documentation

◆ tag_array() [1/3]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::tag_array ( const Alloc aAllocator = Alloc())
inline

Definition at line 351 of file tag_array.hpp.

◆ tag_array() [2/3]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::tag_array ( const tag_type aTag,
const size_type  aCount,
const value_type aValue,
const Alloc aAllocator = Alloc() 
)
inline

Definition at line 355 of file tag_array.hpp.

◆ tag_array() [3/3]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
template<typename InputIterator >
neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::tag_array ( const tag_type aTag,
InputIterator  aFirst,
InputIterator  aLast,
const Alloc aAllocator = Alloc() 
)
inline

Definition at line 361 of file tag_array.hpp.

◆ ~tag_array()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::~tag_array ( )
inline

Definition at line 366 of file tag_array.hpp.

Member Function Documentation

◆ back() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::back ( )
inline

Definition at line 439 of file tag_array.hpp.

◆ back() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::back ( ) const
inline

Definition at line 435 of file tag_array.hpp.

◆ begin() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::begin ( )
inline

Definition at line 403 of file tag_array.hpp.

◆ begin() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::begin ( ) const
inline

Definition at line 395 of file tag_array.hpp.

◆ clear()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::clear ( )
inline

Definition at line 482 of file tag_array.hpp.

◆ empty()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
bool neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::empty ( ) const
inline

Definition at line 391 of file tag_array.hpp.

◆ end() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::end ( )
inline

Definition at line 407 of file tag_array.hpp.

◆ end() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::end ( ) const
inline

Definition at line 399 of file tag_array.hpp.

◆ erase() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::erase ( const_iterator  aFirst,
const_iterator  aLast 
)
inline

Definition at line 499 of file tag_array.hpp.

◆ erase() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::erase ( const_iterator  aPosition)
inline

Definition at line 494 of file tag_array.hpp.

◆ front() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::front ( )
inline

Definition at line 431 of file tag_array.hpp.

◆ front() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::front ( ) const
inline

Definition at line 427 of file tag_array.hpp.

◆ insert() [1/4]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::insert ( const tag_type aTag,
const_iterator  aPosition,
const value_type aValue 
)
inline

Definition at line 443 of file tag_array.hpp.

◆ insert() [2/4]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
template<class InputIterator >
std::enable_if<!std::is_integral< InputIterator >::value, iterator >::type neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::insert ( const tag_type aTag,
const_iterator  aPosition,
InputIterator  aFirst,
InputIterator  aLast 
)
inline

Definition at line 467 of file tag_array.hpp.

◆ insert() [3/4]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::insert ( const tag_type aTag,
const_iterator  aPosition,
size_type  aCount,
const value_type aValue 
)
inline

Definition at line 471 of file tag_array.hpp.

◆ insert() [4/4]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::insert ( const_iterator  aPosition,
const_iterator  aFirst,
const_iterator  aLast 
)
inline

Definition at line 455 of file tag_array.hpp.

◆ operator!=()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
bool neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::operator!= ( const tag_array< Tag, T, ArraySize, VectorSize, Alloc > &  aRhs) const
inline

Definition at line 382 of file tag_array.hpp.

◆ operator=()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
tag_array & neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::operator= ( const tag_array< Tag, T, ArraySize, VectorSize, Alloc > &  aRhs)
inline

Definition at line 371 of file tag_array.hpp.

◆ operator==()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
bool neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::operator== ( const tag_array< Tag, T, ArraySize, VectorSize, Alloc > &  aRhs) const
inline

Definition at line 378 of file tag_array.hpp.

◆ operator[]() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::operator[] ( size_type  aIndex)
inline

Definition at line 451 of file tag_array.hpp.

◆ operator[]() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_reference neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::operator[] ( size_type  aIndex) const
inline

Definition at line 447 of file tag_array.hpp.

◆ pop_back()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::pop_back ( )
inline

Definition at line 544 of file tag_array.hpp.

◆ pop_front()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::pop_front ( )
inline

Definition at line 540 of file tag_array.hpp.

◆ push_back()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::push_back ( const tag_type aTag,
const value_type aValue 
)
inline

Definition at line 490 of file tag_array.hpp.

◆ push_front()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::push_front ( const tag_type aTag,
const value_type aValue 
)
inline

Definition at line 486 of file tag_array.hpp.

◆ rbegin() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
reverse_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::rbegin ( )
inline

Definition at line 419 of file tag_array.hpp.

◆ rbegin() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_reverse_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::rbegin ( ) const
inline

Definition at line 411 of file tag_array.hpp.

◆ rend() [1/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
reverse_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::rend ( )
inline

Definition at line 423 of file tag_array.hpp.

◆ rend() [2/2]

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const_reverse_iterator neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::rend ( ) const
inline

Definition at line 415 of file tag_array.hpp.

◆ size()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
size_type neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::size ( ) const
inline

Definition at line 387 of file tag_array.hpp.

◆ swap()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
void neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::swap ( tag_array< Tag, T, ArraySize, VectorSize, Alloc > &  aOther)
inline

Definition at line 548 of file tag_array.hpp.

◆ tag()

template<typename Tag , typename T , std::size_t ArraySize = 16, std::size_t VectorSize = 256, typename Alloc = std::allocator<T>>
const tag_type & neolib::tag_array< Tag, T, ArraySize, VectorSize, Alloc >::tag ( const_iterator  aWhere) const
inline

Definition at line 554 of file tag_array.hpp.


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