jaulib v1.3.6
Jau Support Library (C++, Java, ..)
Loading...
Searching...
No Matches
jau::enums::enum_info< EnumType, Vargs > Class Template Reference

Enumeration info template class including iterator (enum_iterator) More...

#include <enum_util.hpp>

Inheritance diagram for jau::enums::enum_info< EnumType, Vargs >:
Collaboration diagram for jau::enums::enum_info< EnumType, Vargs >:

Public Types

typedef enum_iterator< value_type, Vargs... > const_iterator
 enum_iterator to iterate over all enum values (const enum values)
 
typedef ssize_t difference_type
 
typedef bool enum_info_tag
 Used to determine whether this type is an enum_info, see is_enum_info<T>
 
typedef enum_iterator< value_type, Vargs... > iterator
 enum_iterator to iterate over all enum values (const enum values)
 
typedef const value_typepointer
 pointer to value_type
 
typedef const value_typereference
 reference to value_type
 
typedef size_t size_type
 
typedef std::array< value_type, sizeof...(Vargs)> value_array_t
 array type for all enum values (value_type), see size()
 
typedef EnumType value_type
 enum value type, i.e. the enum type itself
 

Public Member Functions

constexpr enum_info (const enum_info &o) noexcept=delete
 
constexpr iterator begin () const noexcept
 
constexpr const_iterator cbegin () const noexcept
 
constexpr const_iterator cend () const noexcept
 
constexpr iterator end () const noexcept
 
constexpr std::string_view name () const noexcept
 
constexpr value_array_t values () const noexcept
 

Static Public Member Functions

static constexpr_cxx23 const enum_infoget () noexcept
 
static constexpr size_type size () noexcept
 number of all enum values
 

Friends

class enum_iterator< value_type, Vargs... >
 

Detailed Description

template<typename EnumType, auto... Vargs>
class jau::enums::enum_info< EnumType, Vargs >

Enumeration info template class including iterator (enum_iterator)

Definition at line 264 of file enum_util.hpp.

Member Typedef Documentation

◆ size_type

template<typename EnumType, auto... Vargs>
typedef size_t jau::enums::enum_info< EnumType, Vargs >::size_type

Definition at line 266 of file enum_util.hpp.

◆ difference_type

template<typename EnumType, auto... Vargs>
typedef ssize_t jau::enums::enum_info< EnumType, Vargs >::difference_type

Definition at line 267 of file enum_util.hpp.

◆ value_type

template<typename EnumType, auto... Vargs>
typedef EnumType jau::enums::enum_info< EnumType, Vargs >::value_type

enum value type, i.e. the enum type itself

Definition at line 270 of file enum_util.hpp.

◆ pointer

template<typename EnumType, auto... Vargs>
typedef const value_type* jau::enums::enum_info< EnumType, Vargs >::pointer

pointer to value_type

Definition at line 273 of file enum_util.hpp.

◆ reference

template<typename EnumType, auto... Vargs>
typedef const value_type& jau::enums::enum_info< EnumType, Vargs >::reference

reference to value_type

Definition at line 275 of file enum_util.hpp.

◆ iterator

template<typename EnumType, auto... Vargs>
typedef enum_iterator<value_type, Vargs...> jau::enums::enum_info< EnumType, Vargs >::iterator

enum_iterator to iterate over all enum values (const enum values)

Definition at line 278 of file enum_util.hpp.

◆ const_iterator

template<typename EnumType, auto... Vargs>
typedef enum_iterator<value_type, Vargs...> jau::enums::enum_info< EnumType, Vargs >::const_iterator

enum_iterator to iterate over all enum values (const enum values)

Definition at line 280 of file enum_util.hpp.

◆ enum_info_tag

template<typename EnumType, auto... Vargs>
typedef bool jau::enums::enum_info< EnumType, Vargs >::enum_info_tag

Used to determine whether this type is an enum_info, see is_enum_info<T>

Definition at line 283 of file enum_util.hpp.

◆ value_array_t

template<typename EnumType, auto... Vargs>
typedef std::array<value_type, sizeof...(Vargs)> jau::enums::enum_info< EnumType, Vargs >::value_array_t

array type for all enum values (value_type), see size()

Definition at line 286 of file enum_util.hpp.

Constructor & Destructor Documentation

◆ enum_info()

template<typename EnumType, auto... Vargs>
jau::enums::enum_info< EnumType, Vargs >::enum_info ( const enum_info< EnumType, Vargs > & o)
constexprdeletenoexcept

Member Function Documentation

◆ size()

template<typename EnumType, auto... Vargs>
static constexpr size_type jau::enums::enum_info< EnumType, Vargs >::size ( )
inlinestaticconstexprnoexcept

number of all enum values

Definition at line 289 of file enum_util.hpp.

Here is the caller graph for this function:

◆ get()

template<typename EnumType, auto... Vargs>
static constexpr_cxx23 const enum_info & jau::enums::enum_info< EnumType, Vargs >::get ( )
inlinestaticnoexcept

Definition at line 305 of file enum_util.hpp.

◆ name()

template<typename EnumType, auto... Vargs>
std::string_view jau::enums::enum_info< EnumType, Vargs >::name ( ) const
inlineconstexprnoexcept

Definition at line 310 of file enum_util.hpp.

◆ values()

template<typename EnumType, auto... Vargs>
value_array_t jau::enums::enum_info< EnumType, Vargs >::values ( ) const
inlineconstexprnoexcept

Definition at line 311 of file enum_util.hpp.

◆ cbegin()

template<typename EnumType, auto... Vargs>
const_iterator jau::enums::enum_info< EnumType, Vargs >::cbegin ( ) const
inlineconstexprnoexcept

Definition at line 313 of file enum_util.hpp.

◆ cend()

template<typename EnumType, auto... Vargs>
const_iterator jau::enums::enum_info< EnumType, Vargs >::cend ( ) const
inlineconstexprnoexcept

Definition at line 314 of file enum_util.hpp.

◆ begin()

template<typename EnumType, auto... Vargs>
iterator jau::enums::enum_info< EnumType, Vargs >::begin ( ) const
inlineconstexprnoexcept

Definition at line 316 of file enum_util.hpp.

Here is the caller graph for this function:

◆ end()

template<typename EnumType, auto... Vargs>
iterator jau::enums::enum_info< EnumType, Vargs >::end ( ) const
inlineconstexprnoexcept

Definition at line 317 of file enum_util.hpp.

Friends And Related Symbol Documentation

◆ enum_iterator< value_type, Vargs... >

template<typename EnumType, auto... Vargs>
friend class enum_iterator< value_type, Vargs... >
friend

Definition at line 295 of file enum_util.hpp.


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