44 template <
typename Type>
47 return static_cast<void*
>(ptr);
51 template <
typename Type>
54 return static_cast<const void*
>(ptr);
59 template <
typename Type>
67 template <
typename Type>
74 template <
typename Type>
77 return reinterpret_cast<Type*
>(
toByteBlock(pointer) + distance);
82 template <
typename Type>
85 return reinterpret_cast<Type*
>(
toByteBlock(pointer) - distance);
89 template <
typename Left,
typename Right>
UInt8 Byte
Alias for Byte.
UInt64 QWord
Alias for Quad Word.
UInt32 DWord
Alias for Double Word.
UInt16 Word
Alias for Word.
#define ONIXS_CMEMDH_NAMESPACE_BEGIN
const Byte * toByteBlock(const Type *ptr)
Reinterprets pointer to one referencing to byte block.
Type * advanceByBytes(Type *pointer, ptrdiff_t distance)
Advances given pointer to a given offset (distance) in bytes.
UInt16 UInt16
uInt16 optional.
Type * advanceBackByBytes(Type *pointer, ptrdiff_t distance)
Returns pointer which is lower than given one to a given number of bytes.
const void * toOpaquePtr(const Type *ptr)
Makes pointer as opaque one.
ptrdiff_t byteDistance(Left *left, Right *right)
Returns distance in bytes between two pointers.
#define ONIXS_CMEMDH_NAMESPACE_END