36 lines
786 B
C++
36 lines
786 B
C++
#ifndef B8D59B54_1674_4C0F_AA2C_611385FF5D03
|
|
#define B8D59B54_1674_4C0F_AA2C_611385FF5D03
|
|
|
|
#include "gh_base.h"
|
|
#include "gh_static_mem.h"
|
|
#include "gh_structs.h"
|
|
#include "gh_global.h"
|
|
|
|
template<size_t Offset, size_t Size>
|
|
struct Field {
|
|
};
|
|
|
|
template<size_t Size>
|
|
struct _FieldBinderSizeTraits {
|
|
using type = undefined;
|
|
};
|
|
template<>
|
|
struct _FieldBinderSizeTraits<4> {
|
|
using type = undefined4;
|
|
};
|
|
template<>
|
|
struct _FieldBinderSizeTraits<2> {
|
|
using type = undefined2;
|
|
};
|
|
template<>
|
|
struct _FieldBinderSizeTraits<3> {
|
|
using type = undefined3;
|
|
};
|
|
|
|
template<size_t Offset, size_t Size>
|
|
inline uint32_t& operator+(const char* str, Field<Offset, Size> offset) {
|
|
return *(_FieldBinderSizeTraits<Size>*)(str + offset);
|
|
}
|
|
|
|
#endif /* B8D59B54_1674_4C0F_AA2C_611385FF5D03 */
|