本文整理汇总了C++中astinterface::AstNodeList::front方法的典型用法代码示例。如果您正苦于以下问题:C++ AstNodeList::front方法的具体用法?C++ AstNodeList::front怎么用?C++ AstNodeList::front使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类astinterface::AstNodeList
的用法示例。
在下文中一共展示了AstNodeList::front方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: if
AstNodePtr SymbolicFunction :: CodeGen( AstInterface &_fa) const
{
AstInterface::AstNodeList l;
for (const_iterator i = args.begin(); i != args.end(); ++i) {
SymbolicVal cur = *i;
AstNodePtr curast = cur.CodeGen(_fa);
l.push_back(curast);
}
if (t == AstInterface::OP_NONE) {
return _fa.CreateFunctionCall( op, l);
}
else if (t == AstInterface::OP_ARRAY_ACCESS) {
AstNodePtr arr = l.front();
l.pop_front();
return _fa.CreateArrayAccess(arr, l);
}
else if (t == AstInterface::OP_ASSIGN && l.size() == 2) {
return _fa.CreateAssignment(l.front(), l.back());
}
else if (l.size() == 2)
return _fa.CreateBinaryOP( t, l.front(), l.back());
else {
assert(l.size() == 1);
return _fa.CreateUnaryOP( t, l.front());
}
}
示例2: assert
bool LoopTransformInterface::
IsDynamicFusionConfig( const AstNodePtr& n, AstNodePtr* configvar, int* configID,
AstInterface::AstNodeList* params)
{ assert(fa != 0);
AstNodePtr invoc;
if (!fa->IsAssignment(n, configvar, &invoc))
return false;
AstInterface::AstNodeList args;
std::string sig;
AstNodePtr f;
if (!fa->IsFunctionCall(invoc, &f, &args) || !fa->IsVarRef(f, 0, &sig) )
return false;
if (sig == "DynamicFusionConfig") {
if (configID != 0) {
AstNodePtr idnode = args.front();
bool isconst = fa->IsConstInt( idnode, configID);
assert(isconst);
}
if (params != 0) {
*params = args;
params->erase(params->begin());
params->erase(params->begin());
}
return true;
}
return false;
}