本文整理汇总了C++中Relation::filterLiteral方法的典型用法代码示例。如果您正苦于以下问题:C++ Relation::filterLiteral方法的具体用法?C++ Relation::filterLiteral怎么用?C++ Relation::filterLiteral使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Relation
的用法示例。
在下文中一共展示了Relation::filterLiteral方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: select
Relation Relation::select(std::vector<Parameter> params) {
// copy ourselves
Relation result = *this;
for (uint i = 0; i < params.size(); i++) {
auto param = params[i];
if (param.type == STRING) {
result.filterLiteral(i, param.str);
} else if (param.type == ID) {
// find if there is another occurence of this identifier
for (uint j = (i + 1); j < params.size(); j++) {
if (params[j].type == ID && params[j].str == param.str) {
result.filterRepeat(i, j);
break;
// you'd think we'd get any additional duplicates in the
// space here, but we don't
// this may be unexpected to you, dear reader
// the element that j is pointing to will eventually be
// pointed to by i, and the process will begin again.
}
}
}
}
return result;
}