本文整理汇总了C++中ExprVector::data方法的典型用法代码示例。如果您正苦于以下问题:C++ ExprVector::data方法的具体用法?C++ ExprVector::data怎么用?C++ ExprVector::data使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ExprVector
的用法示例。
在下文中一共展示了ExprVector::data方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: TransformExpr
Stmt *TransformVector::VisitExtVectorElementExpr(ExtVectorElementExpr *Node) {
unsigned NumElems = Node->getNumElements();
if (NumElems == 0) {
// array subscripting syntax
Expr *ExprBase = TransformExpr(Node->getBase());
ASTCtx.Deallocate(Node);
return ExprBase;
} else {
DeclVector DeclVec;
ExprVector ExprVec;
MakeElementExprs(DeclVec, ExprVec, Node);
assert((ExprVec.size() == NumElems) && "Wrong accessor?");
if (DeclVec.size() > 0) {
PushBackDeclStmts(*CurStmtVec, DeclVec);
}
if (NumElems == 1) {
return ExprVec[0];
} else {
QualType NodeTy = Node->getType();
CallExpr *NewExpr = new (ASTCtx) CallExpr(ASTCtx,
CLExprs.getVectorLiteralExpr(NodeTy), ExprVec.data(), NumElems,
NodeTy, VK_RValue, SourceLocation());
return NewExpr;
}
}
}