27 for (
unsigned int i=0;
i<objType.BaseSize();
i++){
31 for (
unsigned int j=0;
j<baseType.DataMemberSize();
j++){
32 Reflex::Member dataMember = baseType.DataMemberAt(
j);
33 DataElement& dataMemberElement = dataElement.addChild( dataMember.Offset(), base.OffsetFP() );
35 if ( dataMember.IsTransient() || dataMember.IsStatic() )
continue;
38 if ( ! dataMemberType ) {
39 throwException(
"Missing dictionary information for data member \"" +
40 dataMember.Name() +
"\" of class \"" +
41 baseType.Name(Reflex::SCOPED|Reflex::FINAL) +
"\"",
42 "ObjectStreamerBase::buildBaseDataMembers" );
47 std::string scope = declaringType.Name(Reflex::SCOPED|Reflex::FINAL);
55 "ObjectStreamerBase::buildBaseDataMembers" );
57 MappingElement& dataMemberMapping = iDataMemberMapping->second;
58 processDataMember( dataMemberElement, relationalData, dataMemberType, dataMemberMapping, operationBuffer );
static std::string scopedVariableName(const std::string &variableName, const std::string &scope)
variable name manipulation
const std::string & variableName() const
MappingElement & m_mapping
virtual void processDataMember(DataElement &dataElement, IRelationalData &relationalData, Reflex::Type &dataMemberType, MappingElement &dataMemberMapping, RelationalBuffer *operationBuffer)=0
void buildBaseDataMembers(DataElement &dataElement, IRelationalData &relationalData, const Reflex::Type &objType, RelationalBuffer *operationBuffer)
iterator find(const std::string &key)
Retrieves a sub-element.
std::map< std::string, MappingElement >::iterator iterator
Iterator definition.
Reflex::Type resolvedType(const Reflex::Type &typ)
iterator end()
Returns an iterator in the end of the sequence.
void throwException(const std::string &message, const std::string &methodName)