gwnavruntime/blob/blobref.h Source File
Go to the documentation of this file.
26 KY_INLINE BlobRefImpl() : m_shallowBlobSize(0), m_offset(0) {}
28 KY_INLINE
void* Ptr()
const
30 if (m_shallowBlobSize == 0)
33 return (
void*)((
char*)&m_offset + m_offset);
41 BlobRefImpl& operator=(
const BlobRefImpl& other);
42 BlobRefImpl(
const BlobRefImpl& other);
58 KY_INLINE T* Ptr()
const {
return (T*)m_impl.Ptr(); }
60 KY_INLINE
KyUInt32 ShallowBlobSize()
const {
return m_impl.m_shallowBlobSize; }
78 SwapEndianness(e,
self.m_impl.m_shallowBlobSize);
79 SwapEndianness(e,
self.m_impl.m_offset);
81 if (
self.m_impl.m_shallowBlobSize != 0)
82 SwapEndianness(e, *
self.Ptr());
87 KyUInt32 shallowBlobSize =
self.m_impl.m_shallowBlobSize;
88 T* value =
self.Ptr();
90 SwapEndianness(e,
self.m_impl.m_shallowBlobSize);
91 SwapEndianness(e,
self.m_impl.m_offset);
93 if (shallowBlobSize != 0)
94 SwapEndianness(e, *value);
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
The same endianness type as the current platform.
Definition: endianness.h:29
A BlobRef is a type of reference that is compatible with the blob serialization framework.
Definition: blobref.h:51
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:132
Target
Enumerates the possible endianness types relative to the current platform.
Definition: endianness.h:27
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
std::int32_t KyInt32
int32_t
Definition: types.h:24