OpenTTD
Public Types | Static Public Attributes
MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid, Tnum_bits > Struct Template Reference

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

#include <enum_type.hpp>

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)
 
static const uint num_bits = Tnum_bits
 Number of bits for storing the enum in command parameters.
 

Detailed Description

template<typename Tenum_t, typename Tstorage_t, Tenum_t Tbegin, Tenum_t Tend, Tenum_t Tinvalid, uint Tnum_bits = 8 * sizeof(Tstorage_t)>
struct MakeEnumPropsT< Tenum_t, Tstorage_t, Tbegin, Tend, Tinvalid, Tnum_bits >

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_tenumeration type that you want to describe
Tstorage_twhat storage type would be sufficient (i.e. byte)
Tbeginfirst valid value from the contiguous range (i.e. TRACK_BEGIN)
Tendone past the last valid value from the contiguous range (i.e. TRACK_END)
Tinvalidvalue used as invalid value marker (i.e. INVALID_TRACK)
Tnum_bitsNumber of bits for storing the enum in command parameters

Definition at line 66 of file enum_type.hpp.


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