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.