|
liblcf
|
#include <enum_tags.h>
Collaboration diagram for EnumTags< E, N >:Public Types | |
| using | int_type = typename std::make_signed< typename std::underlying_type< E >::type >::type |
| using | iterator = char const *const * |
| using | reverse_iterator = std::reverse_iterator< iterator > |
Public Member Functions | |
| template<size_t... LN> | |
| constexpr | EnumTags (const char(&...literals)[LN]) |
| constexpr const char * | tag (E etag) const |
| constexpr const char * | tag (int_type idx) const |
| constexpr const char * | operator[] (E etag) const |
| constexpr const char * | operator[] (int_type idx) const |
| bool | etag (const char *tag, E &result) const |
| E | etagOr (const char *tag, E other) const |
| int_type | idx (const char *tag) const |
| const std::array< const char *, num_tags > & | tags () const |
| constexpr iterator | begin () const |
| constexpr iterator | end () const |
| constexpr iterator | cbegin () const |
| constexpr iterator | cend () const |
| reverse_iterator | rbegin () const |
| reverse_iterator | rend () const |
Static Public Member Functions | |
| static constexpr size_t | size () |
Static Public Attributes | |
| static constexpr size_t | num_tags = N |
Private Attributes | |
| const std::array< const char *, num_tags > | _tags |
Definition at line 20 of file enum_tags.h.
| using EnumTags< E, N >::int_type = typename std::make_signed<typename std::underlying_type<E>::type>::type |
Definition at line 23 of file enum_tags.h.
Definition at line 24 of file enum_tags.h.
| using EnumTags< E, N >::reverse_iterator = std::reverse_iterator<iterator> |
Definition at line 25 of file enum_tags.h.
|
inlineexplicit |
Definition at line 28 of file enum_tags.h.
Definition at line 42 of file enum_tags.h.
References EnumTags< E, N >::_tags.
Referenced by EnumTags< E, N >::cbegin(), and EnumTags< E, N >::rend().
Here is the caller graph for this function:Definition at line 45 of file enum_tags.h.
References EnumTags< E, N >::begin().
Here is the call graph for this function:Definition at line 46 of file enum_tags.h.
References EnumTags< E, N >::end().
Here is the call graph for this function:Definition at line 43 of file enum_tags.h.
References EnumTags< E, N >::_tags, and EnumTags< E, N >::size().
Referenced by EnumTags< E, N >::cend(), and EnumTags< E, N >::rbegin().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 73 of file enum_tags.h.
Referenced by EnumTags< E, N >::operator[](), and EnumTags< E, N >::tag().
Here is the caller graph for this function:
|
inline |
Definition at line 83 of file enum_tags.h.
|
inline |
Definition at line 63 of file enum_tags.h.
Referenced by EnumTags< E, N >::operator[](), and EnumTags< E, N >::tag().
Here is the caller graph for this function:
|
inline |
Definition at line 33 of file enum_tags.h.
References EnumTags< E, N >::etag(), and EnumTags< E, N >::tag().
Here is the call graph for this function:
|
inline |
Definition at line 34 of file enum_tags.h.
References EnumTags< E, N >::idx(), and EnumTags< E, N >::tag().
Here is the call graph for this function:
|
inline |
Definition at line 48 of file enum_tags.h.
References EnumTags< E, N >::end().
Here is the call graph for this function:
|
inline |
Definition at line 49 of file enum_tags.h.
References EnumTags< E, N >::begin().
Here is the call graph for this function:
|
inlinestatic |
Definition at line 51 of file enum_tags.h.
References EnumTags< E, N >::num_tags.
Referenced by EnumTags< E, N >::end().
Here is the caller graph for this function:
|
inline |
Definition at line 30 of file enum_tags.h.
References EnumTags< E, N >::etag(), and EnumTags< E, N >::tag().
Referenced by EnumTags< E, N >::operator[](), and EnumTags< E, N >::tag().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 31 of file enum_tags.h.
References EnumTags< E, N >::_tags, and EnumTags< E, N >::idx().
Here is the call graph for this function:
|
inline |
Definition at line 40 of file enum_tags.h.
References EnumTags< E, N >::_tags.
|
private |
Definition at line 54 of file enum_tags.h.
Referenced by EnumTags< E, N >::begin(), EnumTags< E, N >::end(), EnumTags< E, N >::tag(), and EnumTags< E, N >::tags().
|
static |
Definition at line 22 of file enum_tags.h.
Referenced by EnumTags< E, N >::size().