//---------------------------------------------------------------------------------------------- int ObjectSerializer::SerializeContainerMap(char* p_fieldAddress, TypeNode* p_type, fstream& p_pen) { // Pointer to map is not supported _ASSERTE(p_type->Indirection == false); _ASSERTE(p_type->TemplateArguments.size() == 1); Container* container = reinterpret_cast<Container*>(p_fieldAddress); Iterator* itr = container->GetIterator(); int count = container->ContainerCount(); p_pen.write(reinterpret_cast<char*>(&count), sizeof(int)); while(itr->MoveNext()) { SerializeType(itr->Current(), p_type->TemplateArguments[0], p_pen); } return container->TypeSize(); }