本文整理汇总了C++中ObjectType::parent方法的典型用法代码示例。如果您正苦于以下问题:C++ ObjectType::parent方法的具体用法?C++ ObjectType::parent怎么用?C++ ObjectType::parent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ObjectType
的用法示例。
在下文中一共展示了ObjectType::parent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: addParsers
void Module::addParsers(Object &object, const ObjectType &type) const
{
//Building the father list
ObjectType currentType = type;
ObjectType lastType;
while (!currentType.isNull()) {
std::list<ObjectType> fathers;
while(currentType.typeTemplate() != lastType.typeTemplate() && !currentType.isNull())
{
fathers.push_front(currentType);
currentType = currentType.parent();
}
//Adding the fathers' parsers
for(ObjectType father : fathers)
{
object.setType(father);
Parser* parser = father.parseOrGetParser(static_cast<ParsingOption&>(object));
object.addParser(parser);
}
//Type specification
lastType= object.type();
currentType = specify(lastType);
}
const auto& parsers = object._parsers;
if (std::any_of(parsers.begin(), parsers.end(), [](const std::unique_ptr<Parser>& parser) {
if (parser) {
return parser->needTailParsing();
} else {
return false;
}
})) {
object.parse();
};
}