本文整理汇总了C++中scoped_ptr::back方法的典型用法代码示例。如果您正苦于以下问题:C++ scoped_ptr::back方法的具体用法?C++ scoped_ptr::back怎么用?C++ scoped_ptr::back使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类scoped_ptr
的用法示例。
在下文中一共展示了scoped_ptr::back方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: errs
z3::check_result Z3StackSolverImpl::check(const Query &query) {
errs() << "====> Query size: " << query.constraints.size() << '\n';
ConditionNodeList *cur_constraints = new ConditionNodeList();
for (ConditionNodeRef node = query.constraints.head(),
root = query.constraints.root();
node != root; node = node->parent()) {
// TODO: Handle special case of fast-forward
cur_constraints->push_front(node);
}
ConditionNodeList::iterator cur_it, last_it;
cur_it = cur_constraints->begin();
last_it = last_constraints_->begin();
while (cur_it != cur_constraints->end() &&
last_it != last_constraints_->end() &&
*cur_it == *last_it) {
cur_it++;
last_it++;
}
if (last_it != last_constraints_->end()) {
unsigned amount = 1 + last_constraints_->back()->depth()
- (*last_it)->depth();
errs() << "====> POP x" << amount << '\n';
pop(amount);
}
if (cur_it != cur_constraints->end()) {
errs() << "====> PUSH x"
<< (cur_constraints->back()->depth() - (*cur_it)->depth() + 1)
<< '\n';
while (cur_it != cur_constraints->end()) {
push();
solver_.add(builder_->construct((*cur_it)->expr()));
cur_it++;
}
}
last_constraints_.reset(cur_constraints);
push();
// Note the negation, since we're checking for validity
// (i.e., a counterexample)
solver_.add(!builder_->construct(query.expr));
return solver_.check();
}