gwnavruntime/blob/blobarray.h Source File
Go to the documentation of this file.
33 const T* GetValues()
const {
return (
const T*)((
char*)&
m_offset +
m_offset); }
54 SwapEndianness(e,
self.m_count);
55 SwapEndianness(e,
self.m_offset);
57 T* values =
self.GetValues();
58 for (
KyUInt32 i = 0; i <
self.m_count; ++i)
59 SwapEndianness(e, values[i]);
65 T* values =
self.GetValues();
67 SwapEndianness(e,
self.m_count);
68 SwapEndianness(e,
self.m_offset);
71 SwapEndianness(e, values[i]);
78 template <
class ArrayT,
class BlobArrayT>
79 void InitArrayFromBlobArray_Assign(ArrayT& kyArray,
const BlobArrayT& blobArray)
81 const typename BlobArrayT::ValueType* blobValues = blobArray.GetValues();
82 KyUInt32 blobValuesCount = blobArray.GetCount();
84 kyArray.Resize(blobValuesCount);
85 for (
KyUInt32 i = 0; i < blobValuesCount; ++i)
86 kyArray[i] = blobValues[i];
91 template <
class ArrayT,
class BlobArrayT>
92 void InitArrayFromBlobArray_InitFromBlob(ArrayT& kyArray,
const BlobArrayT& blobArray)
94 const typename BlobArrayT::ValueType* blobValues = blobArray.GetValues();
95 KyUInt32 blobValuesCount = blobArray.GetCount();
97 kyArray.Resize(blobValuesCount);
98 for (
KyUInt32 i = 0; i < blobValuesCount; ++i)
99 kyArray[i].InitFromBlob(blobValues[i]);
103 template <
class ArrayT,
class BlobArrayT>
104 void InitArrayFromBlobArray_String(ArrayT& kyArray,
const BlobArrayT& blobArray)
106 const typename BlobArrayT::ValueType* blobValues = blobArray.GetValues();
107 KyUInt32 blobValuesCount = blobArray.GetCount();
109 kyArray.Resize(blobValuesCount);
110 for (
KyUInt32 i = 0; i < blobValuesCount; ++i)
111 kyArray[i] = blobValues[i].GetValues();
KyInt32 m_offset
Set by BLOB_ARRAY and BLOB_ARRAY_COPY during BaseBlobBuilder::DoBuild(). Do not modify.
Definition: blobarray.h:41
std::uint32_t KyUInt32
uint32_t
Definition: types.h:29
The same endianness type as the current platform.
Definition: endianness.h:29
#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
A BlobArray an array that is compatible with the blob serialization framework.
Definition: blobarray.h:23
The Autodesk Navigation namespace.
Definition: gamekitcrowddispersion.cpp:17
std::int32_t KyInt32
int32_t
Definition: types.h:24
KyUInt32 m_count
The number of elements in this BlobArray. Set by BLOB_ARRAY and BLOB_ARRAY_COPY during BaseBlobBuilde...
Definition: blobarray.h:40