boost::shared_ptr<ClassDefinition> ClassDefinitionWriter::createNestedClassDef(const Portable& portable) { int version = pimpl::PortableVersionHelper::getVersion(&portable, context.getVersion()); ClassDefinitionBuilder definitionBuilder(portable.getFactoryId(), portable.getClassId(), version); ClassDefinitionWriter nestedWriter(context, definitionBuilder); PortableWriter portableWriter(&nestedWriter); portable.writePortable(portableWriter); return context.registerClassDefinition(definitionBuilder.build()); }