diff options
author | frosch <frosch@openttd.org> | 2010-04-11 15:44:16 +0000 |
---|---|---|
committer | frosch <frosch@openttd.org> | 2010-04-11 15:44:16 +0000 |
commit | 0d4e6c46ff4af97205823014e0b4300c7a2c3044 (patch) | |
tree | be9825c3e22820b5a09cc8d31daa9be6b9127979 /src/core | |
parent | 03c609f019f437f4fb7e252a2345d4b62ab930e8 (diff) | |
download | openttd-0d4e6c46ff4af97205823014e0b4300c7a2c3044.tar.xz |
(svn r19605) -Codechange: Merge ExtractBits into EnumPropsT.
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/enum_type.hpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/core/enum_type.hpp b/src/core/enum_type.hpp index f6c111aae..ad157f30b 100644 --- a/src/core/enum_type.hpp +++ b/src/core/enum_type.hpp @@ -58,14 +58,16 @@ template <typename Tenum_t> struct EnumPropsT; * @param Tbegin first valid value from the contiguous range (i.e. TRACK_BEGIN) * @param Tend one past the last valid value from the contiguous range (i.e. TRACK_END) * @param Tinvalid value used as invalid value marker (i.e. INVALID_TRACK) + * @param Tnum_bits Number of bits for storing the enum in command parameters */ -template <typename Tenum_t, typename Tstorage_t, Tenum_t Tbegin, Tenum_t Tend, Tenum_t Tinvalid> +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 { typedef Tenum_t type; ///< enum type (i.e. Trackdir) typedef Tstorage_t storage; ///< storage type (i.e. byte) 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 }; |