clang API Documentation
Represents an expression that computes the length of a parameter pack. More...
#include <ExprCXX.h>


Public Member Functions | |
| SizeOfPackExpr (QualType SizeType, SourceLocation OperatorLoc, NamedDecl *Pack, SourceLocation PackLoc, SourceLocation RParenLoc) | |
| Create a value-dependent expression that computes the length of the given parameter pack. | |
| SizeOfPackExpr (QualType SizeType, SourceLocation OperatorLoc, NamedDecl *Pack, SourceLocation PackLoc, SourceLocation RParenLoc, unsigned Length) | |
| Create an expression that computes the length of the given parameter pack, which is already known. | |
| SizeOfPackExpr (EmptyShell Empty) | |
| Create an empty expression. | |
| SourceLocation | getOperatorLoc () const |
| Determine the location of the 'sizeof' keyword. | |
| SourceLocation | getPackLoc () const |
| Determine the location of the parameter pack. | |
| SourceLocation | getRParenLoc () const |
| Determine the location of the right parenthesis. | |
| NamedDecl * | getPack () const |
| Retrieve the parameter pack. | |
| unsigned | getPackLength () const |
| Retrieve the length of the parameter pack. | |
| SourceLocation | getLocStart () const LLVM_READONLY |
| SourceLocation | getLocEnd () const LLVM_READONLY |
| child_range | children () |
Static Public Member Functions | |
| static bool | classof (const Stmt *T) |
Friends | |
| class | ASTStmtReader |
| class | ASTStmtWriter |
Represents an expression that computes the length of a parameter pack.
template<typename ...Types> struct count { static const unsigned value = sizeof...(Types); };
| clang::SizeOfPackExpr::SizeOfPackExpr | ( | QualType | SizeType, |
| SourceLocation | OperatorLoc, | ||
| NamedDecl * | Pack, | ||
| SourceLocation | PackLoc, | ||
| SourceLocation | RParenLoc | ||
| ) | [inline] |
| clang::SizeOfPackExpr::SizeOfPackExpr | ( | QualType | SizeType, |
| SourceLocation | OperatorLoc, | ||
| NamedDecl * | Pack, | ||
| SourceLocation | PackLoc, | ||
| SourceLocation | RParenLoc, | ||
| unsigned | Length | ||
| ) | [inline] |
| clang::SizeOfPackExpr::SizeOfPackExpr | ( | EmptyShell | Empty | ) | [inline] |
| child_range clang::SizeOfPackExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
| static bool clang::SizeOfPackExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 3534 of file ExprCXX.h.
References clang::Stmt::getStmtClass().
| SourceLocation clang::SizeOfPackExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
| SourceLocation clang::SizeOfPackExpr::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
| SourceLocation clang::SizeOfPackExpr::getOperatorLoc | ( | ) | const [inline] |
| NamedDecl* clang::SizeOfPackExpr::getPack | ( | ) | const [inline] |
| unsigned clang::SizeOfPackExpr::getPackLength | ( | ) | const [inline] |
Retrieve the length of the parameter pack.
This routine may only be invoked when the expression is not value-dependent.
Definition at line 3525 of file ExprCXX.h.
References clang::Expr::isValueDependent().
| SourceLocation clang::SizeOfPackExpr::getPackLoc | ( | ) | const [inline] |
| SourceLocation clang::SizeOfPackExpr::getRParenLoc | ( | ) | const [inline] |
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.
friend class ASTStmtWriter [friend] |
Reimplemented from clang::Stmt.