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_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)
Tnum_bits Number of bits for storing the enum in command parameters

Definition at line 64 of file enum_type.hpp.


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

Generated on Wed Apr 21 20:32:31 2010 for OpenTTD by  doxygen 1.6.1