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 >:

EnumPropsT< DiagDirection > EnumPropsT< Direction > EnumPropsT< Owner > EnumPropsT< RailType > EnumPropsT< Track > EnumPropsT< Trackdir >

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 63 of file enum_type.hpp.


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

Generated on Thu Feb 4 17:20:57 2010 for OpenTTD by  doxygen 1.5.6