Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- template<class T>
- struct remove_member_pointer {
- typedef T type;
- };
- template<class Parent, class T>
- struct remove_member_pointer<T Parent::*> {
- typedef T type;
- };
- template<class T>
- struct baseof_member_pointer {
- typedef T type;
- };
- template<class Parent, class T>
- struct baseof_member_pointer<T Parent::*> {
- typedef Parent type;
- };
- template<class Owner, class DataType, DataType Owner::*Member, unsigned _pos, unsigned _size>
- struct _PtrByteAccess {
- // ...
- };
- // Without C++17 need this
- #define PtrByteAccess(MemberPtr, pos, size) \
- _PtrByteAccess<baseof_member_pointer<decltype(MemberPtr)>::type, \
- remove_member_pointer<decltype(MemberPtr)>::type, \
- MemberPtr, pos, size>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement