# MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid > Struct Template Reference

Helper template class that makes basic properties of given enumeration type visible from outsize. More...

`#include <enum_type.hpp>`

Inheritance diagram for MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid >:

## Public Types

typedef Tenum_t | type
| enum type (i.e. Trackdir)
typedef Tstorage_t | storage
| storage type (i.e. byte)

## Static Public Attributes

static const Tenum_t | begin = Tbegin
| lowest valid value (i.e. TRACKDIR_BEGIN)
static const Tenum_t | end = Tend
| one after the last valid value (i.e. TRACKDIR_END)
static const Tenum_t | invalid = Tinvalid
| what value is used as invalid value (i.e. INVALID_TRACKDIR)

## Detailed Description

### template<typename Tenum_t, typename Tstorage_t, Tenum_t Tbegin, Tenum_t Tend, Tenum_t Tinvalid>
struct MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid >

Helper template class that makes basic properties of given enumeration type visible from outsize.

It is used as base class of several EnumPropsT specializations each dedicated to one of commonly used enumeration types.

Parameters:

  | Tenum_t | enumeration type that you want to describe
  | Tstorage_t | what storage type would be sufficient (i.e. byte)
  | Tbegin | first valid value from the contiguous range (i.e. TRACK_BEGIN)
  | Tend | one past the last valid value from the contiguous range (i.e. TRACK_END)
  | Tinvalid | value used as invalid value marker (i.e. INVALID_TRACK)

Definition at line 56 of file enum_type.hpp.

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

- src/core/enum_type.hpp