24 #ifndef __DOTS_INTERNAL_BLOB_LAYOUT_H__
25 #define __DOTS_INTERNAL_BLOB_LAYOUT_H__
27 #include <Safir/Dob/Typesystem/ToolSupport/Internal/BlobLayoutImpl.h>
58 m_impl.CreateBlob(typeId, blob);
64 m_impl.DeleteBlob(blob);
73 char * & beginningOfUnused)
const
75 m_impl.FormatBlob(blob, blobSize, typeId, beginningOfUnused);
80 return m_impl.GetSize(blob);
85 return m_impl.GetTypeId(blob);
90 return m_impl.IsAnythingChanged(blob);
93 void SetChanged(
char *
const blob,
const bool changed)
const
95 m_impl.SetChanged(blob, changed);
100 m_impl.ResetChanged(blob);
105 m_impl.MergeChanges(val, blob);
110 return m_impl.SetChangedSinceLastRead(lastRead, current);
120 return m_impl.GetStatus(blob, member, index);
128 return m_impl.template GetMember<bool>(blob, member, index, val);
136 return m_impl.template GetMember<DotsC_EnumerationValue>(blob, member, index, val);
144 return m_impl.template GetMember<DotsC_Int32>(blob, member, index, val);
152 return m_impl.template GetMember<DotsC_Int64>(blob, member, index, val);
160 return m_impl.template GetMember<DotsC_Float32>(blob, member, index, val);
168 return m_impl.template GetMember<DotsC_Float64>(blob, member, index, val);
175 const char * & strVal)
const
177 return m_impl.template GetMemberWithOptionalString<DotsC_Int64>(blob, member, index, hashVal, strVal);
184 const char * & strVal)
const
186 return m_impl.template GetMemberWithOptionalString<DotsC_EntityId>(blob, member, index, entityId, strVal);
195 return m_impl.GetDynamicMember(blob, member, index, val, binarySize);
204 return m_impl.GetDynamicMember(blob, member, index, val, binarySize);
212 const bool isChanged,
217 m_impl.SetStatus(isNull, isChanged, blob, member, index);
225 m_impl.template SetMember<bool>(val, blob, member, index);
233 m_impl.template SetMember<DotsC_EnumerationValue>(val, blob, member, index);
241 m_impl.template SetMember<DotsC_Int32>(val, blob, member, index);
249 m_impl.template SetMember<DotsC_Int64>(val, blob, member, index);
257 m_impl.template SetMember<DotsC_Float32>(val, blob, member, index);
265 m_impl.template SetMember<DotsC_Float64>(val, blob, member, index);
269 const char *
const strVal,
274 m_impl.SetMemberWithOptionalString(hashVal, strVal, blob, member, index);
278 const char *
const strVal,
283 m_impl.SetMemberWithOptionalString(entityId, strVal, blob, member, index);
292 m_impl.SetDynamicMember(val, binarySize, blob, member, index);
306 const bool isChanged,
307 char * & beginningOfUnused)
const
309 m_impl.CreateObjectMember(insideBlob, size, typeId, member, index, isChanged, beginningOfUnused);
318 const bool isChanged,
319 char * & beginningOfUnused)
const
321 m_impl.CreateStringMember(insideBlob, stringLength, member, index, isChanged, beginningOfUnused);
330 const bool isChanged,
331 char * & beginningOfUnused)
const
333 m_impl.CreateBinaryMember(insideBlob, binarySize, member, index, isChanged, beginningOfUnused);
342 const char *
const strVal,
346 const bool isChanged,
347 char * & beginningOfUnused)
const
349 m_impl.template CreateAndSetMemberWithOptionalString<T>(blob, hashVal, strVal, stringLength, member, index, isChanged, beginningOfUnused);
353 const Internal::BlobLayoutImpl<RepT> m_impl;
boost::int32_t DotsC_Int32
Definition: LanguageInterfaceDefs.h:32
DotsC_Int32 DotsC_ArrayIndex
Definition: LanguageInterfaceDefs.h:47
DotsC_Int32 DotsC_MemberIndex
Definition: LanguageInterfaceDefs.h:45
float DotsC_Float32
Definition: LanguageInterfaceDefs.h:34
double DotsC_Float64
Definition: LanguageInterfaceDefs.h:35
DotsC_Int64 DotsC_TypeId
Definition: LanguageInterfaceDefs.h:37
Definition: LanguageInterfaceDefs.h:39
DotsC_Int32 DotsC_EnumerationValue
Definition: LanguageInterfaceDefs.h:51
boost::int64_t DotsC_Int64
Definition: LanguageInterfaceDefs.h:33