clang API Documentation
A type trait used in the implementation of various C++11 and Library TR1 trait templates. More...
#include <ExprCXX.h>
Public Types | |
typedef TypeSourceInfo ** | arg_iterator |
typedef TypeSourceInfo const *const * | arg_const_iterator |
Public Member Functions | |
TypeTrait | getTrait () const |
Determine which type trait this expression uses. | |
bool | getValue () const |
unsigned | getNumArgs () const |
Determine the number of arguments to this type trait. | |
TypeSourceInfo * | getArg (unsigned I) const |
Retrieve the Ith argument. | |
ArrayRef< TypeSourceInfo * > | getArgs () const |
Retrieve the argument types. | |
arg_iterator | arg_begin () |
arg_iterator | arg_end () |
arg_const_iterator | arg_begin () const |
arg_const_iterator | arg_end () const |
SourceLocation | getLocStart () const LLVM_READONLY |
SourceLocation | getLocEnd () const LLVM_READONLY |
child_range | children () |
Static Public Member Functions | |
static TypeTraitExpr * | Create (const ASTContext &C, QualType T, SourceLocation Loc, TypeTrait Kind, ArrayRef< TypeSourceInfo * > Args, SourceLocation RParenLoc, bool Value) |
Create a new type trait expression. | |
static TypeTraitExpr * | CreateDeserialized (const ASTContext &C, unsigned NumArgs) |
static bool | classof (const Stmt *T) |
Friends | |
class | ASTStmtReader |
class | ASTStmtWriter |
A type trait used in the implementation of various C++11 and Library TR1 trait templates.
__is_pod(int) == true __is_enum(std::string) == false __is_trivially_constructible(vector<int>, int*, int*)
typedef TypeSourceInfo const* const* clang::TypeTraitExpr::arg_const_iterator |
arg_iterator clang::TypeTraitExpr::arg_begin | ( | ) | [inline] |
arg_const_iterator clang::TypeTraitExpr::arg_begin | ( | ) | const [inline] |
arg_iterator clang::TypeTraitExpr::arg_end | ( | ) | [inline] |
Definition at line 2136 of file ExprCXX.h.
References getNumArgs().
arg_const_iterator clang::TypeTraitExpr::arg_end | ( | ) | const [inline] |
Definition at line 2142 of file ExprCXX.h.
References getNumArgs().
child_range clang::TypeTraitExpr::children | ( | ) | [inline] |
Reimplemented from clang::Stmt.
static bool clang::TypeTraitExpr::classof | ( | const Stmt * | T | ) | [inline, static] |
Reimplemented from clang::Expr.
Definition at line 2149 of file ExprCXX.h.
References clang::Stmt::getStmtClass().
TypeTraitExpr * TypeTraitExpr::Create | ( | const ASTContext & | C, |
QualType | T, | ||
SourceLocation | Loc, | ||
TypeTrait | Kind, | ||
ArrayRef< TypeSourceInfo * > | Args, | ||
SourceLocation | RParenLoc, | ||
bool | Value | ||
) | [static] |
Create a new type trait expression.
Definition at line 1521 of file ExprCXX.cpp.
References clang::ASTContext::Allocate().
Referenced by clang::Sema::BuildTypeTrait().
TypeTraitExpr * TypeTraitExpr::CreateDeserialized | ( | const ASTContext & | C, |
unsigned | NumArgs | ||
) | [static] |
Definition at line 1532 of file ExprCXX.cpp.
References clang::ASTContext::Allocate().
TypeSourceInfo* clang::TypeTraitExpr::getArg | ( | unsigned | I | ) | const [inline] |
Retrieve the Ith argument.
Definition at line 2122 of file ExprCXX.h.
References getArgs(), and getNumArgs().
ArrayRef<TypeSourceInfo *> clang::TypeTraitExpr::getArgs | ( | ) | const [inline] |
Retrieve the argument types.
Definition at line 2128 of file ExprCXX.h.
References getNumArgs().
Referenced by getArg().
SourceLocation clang::TypeTraitExpr::getLocEnd | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
SourceLocation clang::TypeTraitExpr::getLocStart | ( | ) | const [inline] |
Reimplemented from clang::Stmt.
unsigned clang::TypeTraitExpr::getNumArgs | ( | ) | const [inline] |
TypeTrait clang::TypeTraitExpr::getTrait | ( | ) | const [inline] |
Determine which type trait this expression uses.
Definition at line 2109 of file ExprCXX.h.
References clang::Stmt::TypeTraitExprBits.
bool clang::TypeTraitExpr::getValue | ( | ) | const [inline] |
Definition at line 2113 of file ExprCXX.h.
References clang::Expr::isValueDependent(), and clang::Stmt::TypeTraitExprBits.
friend class ASTStmtReader [friend] |
Reimplemented from clang::Stmt.
friend class ASTStmtWriter [friend] |
Reimplemented from clang::Stmt.