clang API Documentation

Public Member Functions | Static Public Member Functions | Friends
clang::SizeOfPackExpr Class Reference

Represents an expression that computes the length of a parameter pack. More...

#include <ExprCXX.h>

Inheritance diagram for clang::SizeOfPackExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::SizeOfPackExpr:
Collaboration graph
[legend]

List of all members.

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.
NamedDeclgetPack () 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

Detailed Description

Represents an expression that computes the length of a parameter pack.

 template<typename ...Types>
 struct count {
   static const unsigned value = sizeof...(Types);
 };

Definition at line 3459 of file ExprCXX.h.


Constructor & Destructor Documentation

clang::SizeOfPackExpr::SizeOfPackExpr ( QualType  SizeType,
SourceLocation  OperatorLoc,
NamedDecl Pack,
SourceLocation  PackLoc,
SourceLocation  RParenLoc 
) [inline]

Create a value-dependent expression that computes the length of the given parameter pack.

Definition at line 3485 of file ExprCXX.h.

clang::SizeOfPackExpr::SizeOfPackExpr ( QualType  SizeType,
SourceLocation  OperatorLoc,
NamedDecl Pack,
SourceLocation  PackLoc,
SourceLocation  RParenLoc,
unsigned  Length 
) [inline]

Create an expression that computes the length of the given parameter pack, which is already known.

Definition at line 3496 of file ExprCXX.h.

Create an empty expression.

Definition at line 3507 of file ExprCXX.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 3539 of file ExprCXX.h.

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().

Reimplemented from clang::Stmt.

Definition at line 3532 of file ExprCXX.h.

Reimplemented from clang::Stmt.

Definition at line 3531 of file ExprCXX.h.

Determine the location of the 'sizeof' keyword.

Definition at line 3510 of file ExprCXX.h.

Retrieve the parameter pack.

Definition at line 3519 of file ExprCXX.h.

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().

Determine the location of the parameter pack.

Definition at line 3513 of file ExprCXX.h.

Determine the location of the right parenthesis.

Definition at line 3516 of file ExprCXX.h.


Friends And Related Function Documentation

friend class ASTStmtReader [friend]

Reimplemented from clang::Stmt.

Definition at line 3479 of file ExprCXX.h.

friend class ASTStmtWriter [friend]

Reimplemented from clang::Stmt.

Definition at line 3480 of file ExprCXX.h.


The documentation for this class was generated from the following file: