An array indexed by an enumeration rather than an integer of some sort.
More...
#include <enumeratedarray.h>
|
| using | needs_initialization = std::conditional< std::is_pod< ValueType >::value, std::true_type, std::false_type > |
| |
template<typename Enumeration, typename ValueType, Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
class EnumeratedArray< Enumeration, ValueType, size_element, enum_size >
An array indexed by an enumeration rather than an integer of some sort.
- Warning
- Underlying this template is a plain-old array. Keep in mind:
- Reused enumeration values will collide.
- Sparse enumerations will allocate space for unused values.
- Template Parameters
-
| Enumeration | The enumeration type to use as array index. |
| ValueType | The value type of which the array is composed. |
| size_element | An element representing the number of values, i.e., one larger than the last meaningful slot. The default is a member of the enumeration named "Count". |
| enum_size | The size of the array. Like normal arrays, the largest index is one less than this item. |
◆ const_iterator
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ enumeration_type
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ iterator
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ needs_initialization
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
| using EnumeratedArray< Enumeration, ValueType, size_element, enum_size >::needs_initialization = std::conditional <std::is_pod<ValueType>::value,std::true_type,std::false_type> |
|
private |
◆ value_type
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ EnumeratedArray() [1/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
Initialize an enumerated array. Set values to value type's default.
◆ EnumeratedArray() [2/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
Initialize an enumerated array. Set values to a specific initial value.
◆ begin() [1/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ begin() [2/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ end() [1/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ end() [2/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
◆ operator[]() [1/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
| const ValueType& EnumeratedArray< Enumeration, ValueType, size_element, enum_size >::operator[] |
( |
const Enumeration |
index | ) |
const |
|
inlinenoexcept |
Access an element of a constant enumerated array.
◆ operator[]() [2/2]
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
| ValueType& EnumeratedArray< Enumeration, ValueType, size_element, enum_size >::operator[] |
( |
const Enumeration |
index | ) |
|
|
inlinenoexcept |
Access an element of an enumerated array.
◆ underlying
template<typename Enumeration , typename ValueType , Enumeration size_element = Enumeration::Count, int enum_size = static_cast <int> (size_element)>
| ValueType EnumeratedArray< Enumeration, ValueType, size_element, enum_size >::underlying[enum_size] |
|
private |
The documentation for this class was generated from the following file: