|
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.
|
inlineexplicitconstexpr |
Definition at line 28 of file enum_tags.h.
|
inlineconstexpr |
Definition at line 42 of file enum_tags.h.
|
inlineconstexpr |
Definition at line 45 of file enum_tags.h.
Definition at line 46 of file enum_tags.h.
Definition at line 43 of file enum_tags.h.
|
inline |
Definition at line 73 of file enum_tags.h.
|
inline |
Definition at line 83 of file enum_tags.h.
|
inline |
Definition at line 63 of file enum_tags.h.
|
inlineconstexpr |
Definition at line 33 of file enum_tags.h.
|
inlineconstexpr |
Definition at line 34 of file enum_tags.h.
|
inline |
Definition at line 48 of file enum_tags.h.
|
inline |
Definition at line 49 of file enum_tags.h.
|
inlinestaticconstexpr |
Definition at line 51 of file enum_tags.h.
|
inlineconstexpr |
Definition at line 30 of file enum_tags.h.
References EnumTags< E, N >::tag().
Referenced by EnumTags< E, N >::tag().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inlineconstexpr |
Definition at line 31 of file enum_tags.h.
|
inline |
Definition at line 40 of file enum_tags.h.
|
private |
Definition at line 54 of file enum_tags.h.
|
staticconstexpr |
Definition at line 22 of file enum_tags.h.