本文整理汇总了C++中ParamList::equal_range方法的典型用法代码示例。如果您正苦于以下问题:C++ ParamList::equal_range方法的具体用法?C++ ParamList::equal_range怎么用?C++ ParamList::equal_range使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ParamList
的用法示例。
在下文中一共展示了ParamList::equal_range方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: value_desc
bool
Action::ValueDescRemoveSmart::is_candidate(const ParamList &x)
{
if (!candidate_check(get_param_vocab(),x))
return false;
// Check all the value_desc parameters to be Dynamic List parent.
ParamList::const_iterator it;
for(it=x.equal_range("value_desc").first; it!=x.equal_range("value_desc").second; ++it)
{
ValueDesc value_desc(it->second.get_value_desc());
// if any of the value descs is not Dynamic List parent then ...
if(!(value_desc.parent_is_value_node() &&
ValueNode_DynamicList::Handle::cast_dynamic(value_desc.get_parent_value_node())))
{
// ... Let's check if we are selecting a composite child...
if(value_desc.parent_is_value_node())
{
ValueNode::Handle compo(ValueNode_Composite::Handle::cast_dynamic(value_desc.get_parent_value_node()));
if(compo)
{
ValueNode_DynamicList::Handle parent_list=NULL;
std::set<Node*>::iterator iter;
// and if the composite parent is a dynamic list type
for(iter=compo->parent_set.begin();iter!=compo->parent_set.end();++iter)
{
parent_list=ValueNode_DynamicList::Handle::cast_dynamic(*iter);
if(parent_list)
break;
}
if(parent_list)
continue;
}
}
return false;
}
}
return true;
}