Uni20
Asynchronous tensor and runtime library.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
NamedEnumeration< Traits > Class Template Reference

#include <namedenum.hpp>

Inheritance diagram for NamedEnumeration< Traits >:
[legend]
Collaboration diagram for NamedEnumeration< Traits >:
[legend]

Public Types

using Enum = typename Traits::Enum
 

Public Member Functions

NamedEnumeration begin () const
 
NamedEnumeration end () const
 
std::string Name () const
 
 NamedEnumeration ()
 
 NamedEnumeration (Enum a)
 
 NamedEnumeration (std::string_view Name)
 
bool operator!= (const NamedEnumeration &Other) const
 
bool operator!= (Enum a) const
 
const NamedEnumeration & operator* () const
 
NamedEnumeration & operator++ ()
 
NamedEnumeration & operator-- ()
 
bool operator== (const NamedEnumeration &Other) const
 
bool operator== (Enum a) const
 

Static Public Member Functions

static std::vector< std::string > EnumerateAll ()
 
static std::string ListAll ()
 
static constexpr std::size_t size ()
 

Static Public Attributes

static constexpr Enum BEGIN = static_cast<Enum>(0)
 
static constexpr Enum DEFAULT = Traits::Default
 
static constexpr Enum END = static_cast<Enum>(N)
 
static constexpr std::size_t N = Traits::Names.size()
 

Member Typedef Documentation

◆ Enum

template<typename Traits >
using NamedEnumeration< Traits >::Enum = typename Traits::Enum

Constructor & Destructor Documentation

◆ NamedEnumeration() [1/3]

template<typename Traits >
NamedEnumeration< Traits >::NamedEnumeration ( )
inline

◆ NamedEnumeration() [2/3]

template<typename Traits >
NamedEnumeration< Traits >::NamedEnumeration ( Enum  a)
inline

◆ NamedEnumeration() [3/3]

template<typename Traits >
NamedEnumeration< Traits >::NamedEnumeration ( std::string_view  Name)
explicit

Member Function Documentation

◆ begin()

template<typename Traits >
NamedEnumeration NamedEnumeration< Traits >::begin ( ) const
inline

◆ end()

template<typename Traits >
NamedEnumeration NamedEnumeration< Traits >::end ( ) const
inline

◆ EnumerateAll()

template<typename Traits >
std::vector< std::string > NamedEnumeration< Traits >::EnumerateAll ( )
static

◆ ListAll()

template<typename Traits >
std::string NamedEnumeration< Traits >::ListAll ( )
static

◆ Name()

template<typename Traits >
std::string NamedEnumeration< Traits >::Name ( ) const
inline

◆ operator!=() [1/2]

template<typename Traits >
bool NamedEnumeration< Traits >::operator!= ( const NamedEnumeration< Traits > &  Other) const
inline

◆ operator!=() [2/2]

template<typename Traits >
bool NamedEnumeration< Traits >::operator!= ( Enum  a) const
inline

◆ operator*()

template<typename Traits >
const NamedEnumeration & NamedEnumeration< Traits >::operator* ( ) const
inline

◆ operator++()

template<typename Traits >
NamedEnumeration & NamedEnumeration< Traits >::operator++ ( )
inline

◆ operator--()

template<typename Traits >
NamedEnumeration & NamedEnumeration< Traits >::operator-- ( )
inline

◆ operator==() [1/2]

template<typename Traits >
bool NamedEnumeration< Traits >::operator== ( const NamedEnumeration< Traits > &  Other) const
inline

◆ operator==() [2/2]

template<typename Traits >
bool NamedEnumeration< Traits >::operator== ( Enum  a) const
inline

◆ size()

template<typename Traits >
static constexpr std::size_t NamedEnumeration< Traits >::size ( )
inlinestaticconstexpr

Member Data Documentation

◆ BEGIN

template<typename Traits >
constexpr Enum NamedEnumeration< Traits >::BEGIN = static_cast<Enum>(0)
inlinestaticconstexpr

◆ DEFAULT

template<typename Traits >
constexpr Enum NamedEnumeration< Traits >::DEFAULT = Traits::Default
inlinestaticconstexpr

◆ END

template<typename Traits >
constexpr Enum NamedEnumeration< Traits >::END = static_cast<Enum>(N)
inlinestaticconstexpr

◆ N

template<typename Traits >
constexpr std::size_t NamedEnumeration< Traits >::N = Traits::Names.size()
inlinestaticconstexpr

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