本文整理汇总了C++中ISerializer::deserialize方法的典型用法代码示例。如果您正苦于以下问题:C++ ISerializer::deserialize方法的具体用法?C++ ISerializer::deserialize怎么用?C++ ISerializer::deserialize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ISerializer
的用法示例。
在下文中一共展示了ISerializer::deserialize方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: deserialize
void CompoundCommand::deserialize(ISerializer& serializer)
{
size_t size = 0;
serializer.deserialize(size);
std::string id;
for (size_t i = 0; i < size; ++i)
{
serializer.deserialize(id);
addCommand(id.c_str(), ObjectHandle());
}
getMacroObject().getBase<MacroObject>()->deserialize(serializer);
}
示例2: deserializeDefinitions
//==============================================================================
bool ContextDefinitionManager::deserializeDefinitions(ISerializer& serializer)
{
// load generic definitions
size_t count = 0;
serializer.deserialize(count);
for (size_t i = 0; i < count; i++)
{
std::string defName;
serializer.deserialize(defName);
std::string parentDefName;
serializer.deserialize(parentDefName);
auto pDef = getDefinition(defName.c_str());
IClassDefinitionModifier* modifier = nullptr;
if (!pDef)
{
auto definition = registerDefinition(createGenericDefinition(defName.c_str()));
modifier = definition->getDetails().getDefinitionModifier();
}
size_t size = 0;
serializer.deserialize(size);
std::string propName;
std::string typeName;
uint32_t flags;
for (size_t j = 0; j < size; j++)
{
propName.clear();
typeName.clear();
serializer.deserialize(propName);
serializer.deserialize(typeName);
serializer.deserialize(flags);
IBasePropertyPtr property = nullptr;
auto metaType = MetaType::find(typeName.c_str());
if (modifier)
{
bool isCollection = flags & ContextDefinitionManagerDetails::IS_COLLECTION;
auto property = modifier->addProperty(
propName.c_str(), metaType != nullptr ? metaType->typeId().getName() : typeName.c_str(), nullptr,
isCollection);
// TF_ASSERT( property );
}
}
}
return true;
}