Writes a data element.
220 "UniqueRefWriter::write");
225 Reflex::Object refObj(
m_objectType, const_cast<void*>(refAddress));
228 refObj.Invoke(
"operator!",isNull);
235 std::type_info* refTypeInfo = 0;
236 refObj.Invoke(
"typeInfo",refTypeInfo);
238 className = refType.Name(Reflex::SCOPED);
246 DependentClassWriter writer;
249 refObj.Invoke(
"operator*",refData);
250 writer.write( oid, refId, refData );
Sequences & containerSequences()
RelationalBuffer * m_operationBuffer
void * address(const void *topLevelAddress) const
DataElement * m_dataElement
RelationalBuffer & addVolatileBuffer()
MappingElement & mappingForDependentClass(const Reflex::Type &dependentClass, bool writeEnabled=false)
IRelationalData * m_relationalData
ContainerSchema & m_schema
virtual coral::AttributeList & data()=0
int getNextId(const std::string &sequenceName, bool sinchronize=false)
const std::string & containerName()
void throwException(const std::string &message, const std::string &methodName) __attribute__((noreturn))
char data[epos_bytes_allocation]
static std::string sequenceNameForDependentClass(const std::string &containerName, const std::string &className)
Reflex::Type lookupDictionary(const std::type_info &typeInfo, bool throwFlag=true)
Reflex::Type m_objectType
std::string className(const T &t)
std::string uniqueRefNullLabel()