本文整理汇总了C++中Predicate::get_parameters方法的典型用法代码示例。如果您正苦于以下问题:C++ Predicate::get_parameters方法的具体用法?C++ Predicate::get_parameters怎么用?C++ Predicate::get_parameters使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Predicate
的用法示例。
在下文中一共展示了Predicate::get_parameters方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ParseError
/*
* Fa il parsing della RHS della regola
*/
list<PredicateCall>
Parser::parse_rule_rhs(list<Token> token_list) {
list<Token>::iterator token_iterator = token_list.begin();
list<Token> predicate_tokens;
list<PredicateCall> rhs;
uint32_t read_tokens = 0;
if (token_iterator == token_list.end())
throw ParseError("empty right hand side");
while (token_iterator != token_list.end()) {
predicate_tokens = BUILD_TOKEN_BLOCK(token_iterator, string(1, LNG_STMT_END).c_str(), TKN_OPERATOR, token_list.end());
Predicate pred = this->parse_predicate(predicate_tokens, predicate_tokens.begin(), &read_tokens);
token_iterator = this->advance_iterator(token_iterator, read_tokens);
++token_iterator;
read_tokens = 0;
if ((token_iterator->get_type() == TKN_OPERATOR) &&
(!token_iterator->get_value().compare(string(1, LNG_STMT_END)))) {
++token_iterator;
} else if (token_iterator == token_list.end()) {
throw ParseError("expected ; as predicate separator", (*(--token_iterator)).get_line_no());
}
PredicateCall call;
call.set_name(pred.get_name());
call.set_parameters(pred.get_parameters());
rhs.push_back(call);
}
return rhs;
};
示例2:
/* Estra i nomi delle variabili da un predicato */
queue<string>
_extract_variables(Predicate p) {
vector<PredicateParam> parameters = p.get_parameters();
queue<string> varnames;
unsigned int i;
for (i = 0; i < parameters.size(); i++) {
if (parameters[i].get_type() == PARAM_VAR)
varnames.push(parameters[i].get());
}
return varnames;
};