本文整理汇总了C++中ZTuple::GetVector_T方法的典型用法代码示例。如果您正苦于以下问题:C++ ZTuple::GetVector_T方法的具体用法?C++ ZTuple::GetVector_T怎么用?C++ ZTuple::GetVector_T使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ZTuple
的用法示例。
在下文中一共展示了ZTuple::GetVector_T方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
static ZRef<ZTBQueryNode> sNodeFromTuple(const ZTuple& iTuple)
{
string nodeKind = iTuple.GetString("Kind");
if (false)
{}
else if (nodeKind == "All")
{
return new ZTBQueryNode_All;
}
else if (nodeKind == "Combo")
{
vector<ZTBQuery::SortSpec> theSort;
const vector<ZTupleValue>& vectorSort = iTuple.GetVector("Sort");
for (vector<ZTupleValue>::const_iterator i = vectorSort.begin(); i != vectorSort.end(); ++i)
{
const ZTuple& temp = (*i).GetTuple();
theSort.push_back(ZTBQuery::SortSpec(
temp.GetString("PropName"), temp.GetBool("Ascending"), temp.GetInt32("Strength")));
}
const vector<ZTupleValue>& sourceSect = iTuple.GetVector("Intersections");
vector<ZTBQueryNode_Combo::Intersection> theIntersections;
for (vector<ZTupleValue>::const_iterator i = sourceSect.begin(); i != sourceSect.end(); ++i)
theIntersections.push_back(ZTBQueryNode_Combo::Intersection((*i).GetTuple()));
return new ZTBQueryNode_Combo(theSort, theIntersections);
}
else if (nodeKind == "Difference")
{
ZRef<ZTBQueryNode> leftNode = sNodeFromTuple(iTuple.GetTuple("LeftNode"));
ZRef<ZTBQueryNode> rightNode = sNodeFromTuple(iTuple.GetTuple("RightNode"));
return new ZTBQueryNode_Difference(leftNode, rightNode);
}
else if (nodeKind == "First")
{
string propName = iTuple.GetString("PropName");
ZRef<ZTBQueryNode> sourceNode = sNodeFromTuple(iTuple.GetTuple("SourceNode"));
return new ZTBQueryNode_First(propName, sourceNode);
}
else if (nodeKind == "ID_Constant")
{
vector<uint64> theIDs;
iTuple.GetVector_T("IDs", back_inserter(theIDs), uint64());
return new ZTBQueryNode_ID_Constant(theIDs, true);
}
else if (nodeKind == "ID_FromSource")
{
ZRef<ZTBQueryNode> sourceNode = sNodeFromTuple(iTuple.GetTuple("SourceNode"));
string sourcePropName = iTuple.GetString("SourcePropName");
return new ZTBQueryNode_ID_FromSource(sourceNode, sourcePropName);
}
else if (nodeKind == "Property")
{
string propName = iTuple.GetString("PropName");
ZRef<ZTBQueryNode> sourceNode = sNodeFromTuple(iTuple.GetTuple("SourceNode"));
return new ZTBQueryNode_Property(propName, sourceNode);
}
throw runtime_error(string("ZTBQuery, sNodeFromTuple, unknown nodeKind: " + nodeKind));
}