Minor: Introduce GenericOffset

This commit is contained in:
Behdad Esfahbod 2014-06-27 14:40:35 -04:00
parent 0d1b3419a7
commit 0394ec1bfb
1 changed files with 6 additions and 10 deletions

View File

@ -630,21 +630,17 @@ struct Index : USHORT {
}; };
DEFINE_NULL_DATA (Index, "\xff\xff"); DEFINE_NULL_DATA (Index, "\xff\xff");
/* Offset to a table, same as uint16 (length = 16 bits), Null offset = 0x0000 */ /* GenericOffset, Null offset = 0 */
struct Offset : USHORT template <typename Type>
struct GenericOffset : Type
{ {
inline bool is_null (void) const { return 0 == *this; } inline bool is_null (void) const { return 0 == *this; }
public: public:
DEFINE_SIZE_STATIC (2); DEFINE_SIZE_STATIC (sizeof(Type));
}; };
/* LongOffset to a table, same as uint32 (length = 32 bits), Null offset = 0x00000000 */ typedef GenericOffset<USHORT> Offset;
struct LongOffset : ULONG typedef GenericOffset<ULONG> LongOffset;
{
inline bool is_null (void) const { return 0 == *this; }
public:
DEFINE_SIZE_STATIC (4);
};
/* CheckSum */ /* CheckSum */