gwnavruntime/blob/blobfieldstring.h Source File
Go to the documentation of this file.
9 #ifndef Navigation_BlobFieldString_H
10 #define Navigation_BlobFieldString_H
29 BlobArray<
char> m_name;
30 BlobArray<
char> m_value;
33 inline
void SwapEndianness(Endianness::Target e, BlobFieldString& self)
35 SwapEndianness(e,
self.m_name);
36 SwapEndianness(e,
self.m_value);
40 class BlobFieldStringMapping
44 BlobFieldStringMapping() : m_name(
KY_NULL), m_string(KY_NULL), m_guid(KY_NULL) {}
46 BlobFieldStringMapping(
const char* name, String* string_) :
47 m_name(name), m_string(string_), m_guid(
KY_NULL)
50 BlobFieldStringMapping(
const char* name, KyGuid* guid) :
51 m_name(name), m_string(
KY_NULL), m_guid(guid)
60 template <
class OSTREAM>
61 inline OSTREAM& operator<<(OSTREAM& os, BlobFieldStringMapping& mapping)
63 os << mapping.m_name <<
" : " << mapping.m_string->ToCStr() << Endl;
68 class BlobFieldStringBuilder :
public BaseBlobBuilder<BlobFieldString>
71 BlobFieldStringBuilder(BlobFieldStringMapping& mapping) : m_mapping(&mapping) {}
74 virtual void DoBuild()
77 if (m_mapping->m_string !=
KY_NULL)
79 str = *m_mapping->m_string;
84 m_mapping->m_guid->ToString(guidChars);
92 BlobFieldStringMapping* m_mapping;
#define KY_NULL
Null value.
Definition: types.h:247
Definition: gamekitcrowddispersion.h:20
#define KY_DEFINE_NEW_DELETE_OPERATORS(MemStat)
This macro defines new and delete operators.
Definition: memory.h:137
#define BLOB_STRING(str, src)
Use this macro only in implementations of BaseBlobBuilder::DoBuild().
Definition: baseblobbuilder.h:179