A labeled array class template. MUST NOT be instatiated directly. Use the marco DECLARE_LABELED_ARRAY_TEMPLATE to create labels automatically and declare the corresponding array template. Allows access to elements by labels only.
More...
|
| TLabeledArrayInternal ()=default |
| Default cnstructor. Does not initialize elements.
|
|
| TLabeledArrayInternal (const ArrayElementType &element) |
| Initialize all the array elements with the given value.
|
|
template<typename... ArgTypes, typename std::enable_if<(sizeof...(ArgTypes)==skuSize_) &&(skuSize_ > 1U), bool >::type = true> |
constexpr | TLabeledArrayInternal (const ArgTypes &... elements) |
| Initialize from a list. The list length must be the same as the array length. The template will be discarded by means of SFINAE technique if the element count in the list does not match array length, or is equal to 1.
|
|
ArrayElementType * | begin () |
| Get pointer to the first element.
|
|
const ArrayElementType * | begin () const |
| Get pointer to the first element.
|
|
ArrayElementType * | end () |
| Get pointer to the element after the last one.
|
|
const ArrayElementType * | end () const |
| Get pointer to the element after the last one.
|
|
ArrayElementType & | operator[] (LabelEnum eLabel) |
| Get array element by label. Asserts if the label is not in the valid range.
|
|
const ArrayElementType & | operator[] (LabelEnum eLabel) const |
| Get array element by label. Asserts if the label is not in the valid range.
|
|
template<typename ArrayElementType, typename LabelEnum>
class TLabeledArrayInternal< ArrayElementType, LabelEnum >
A labeled array class template. MUST NOT be instatiated directly. Use the marco DECLARE_LABELED_ARRAY_TEMPLATE to create labels automatically and declare the corresponding array template. Allows access to elements by labels only.
- Template Parameters
-
ArrayElementType | Array element type |
LabelEnum | Enum used to label the array elements |