class TypeTraitExpr

Declaration

class TypeTraitExpr : public Expr, private TrailingObjects { /* full declaration omitted */ };

Description

A type trait used in the implementation of various C++11 and Library TR1 trait templates.

Declared at: clang/include/clang/AST/ExprCXX.h:2682

Inherits from: Expr, TrailingObjects

Member Variables

private clang::SourceLocation Loc
The location of the type trait keyword.
private clang::SourceLocation RParenLoc
The location of the closing parenthesis.

Inherited from Stmt:

protected

Method Overview

  • public static clang::TypeTraitExpr * Create(const clang::ASTContext & C, clang::QualType T, clang::SourceLocation Loc, clang::TypeTrait Kind, ArrayRef<clang::TypeSourceInfo *> Args, clang::SourceLocation RParenLoc, bool Value)
  • public static clang::TypeTraitExpr * CreateDeserialized(const clang::ASTContext & C, unsigned int NumArgs)
  • private TypeTraitExpr(clang::QualType T, clang::SourceLocation Loc, clang::TypeTrait Kind, ArrayRef<clang::TypeSourceInfo *> Args, clang::SourceLocation RParenLoc, bool Value)
  • private TypeTraitExpr(clang::Stmt::EmptyShell Empty)
  • public clang::Stmt::child_range children()
  • public clang::Stmt::const_child_range children() const
  • public static bool classof(const clang::Stmt * T)
  • public clang::TypeSourceInfo * getArg(unsigned int I) const
  • public ArrayRef<clang::TypeSourceInfo *> getArgs() const
  • public clang::SourceLocation getBeginLoc() const
  • public clang::SourceLocation getEndLoc() const
  • public unsigned int getNumArgs() const
  • public clang::TypeTrait getTrait() const
  • public bool getValue() const
  • private size_t numTrailingObjects(OverloadToken<clang::TypeSourceInfo *>) const

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

static clang::TypeTraitExpr* Create(
    const clang::ASTContext& C,
    clang::QualType T,
    clang::SourceLocation Loc,
    clang::TypeTrait Kind,
    ArrayRef<clang::TypeSourceInfo*> Args,
    clang::SourceLocation RParenLoc,
    bool Value)

Description

Create a new type trait expression.

Declared at: clang/include/clang/AST/ExprCXX.h:2711

Parameters

const clang::ASTContext& C
clang::QualType T
clang::SourceLocation Loc
clang::TypeTrait Kind
ArrayRef<clang::TypeSourceInfo*> Args
clang::SourceLocation RParenLoc
bool Value

static clang::TypeTraitExpr* CreateDeserialized(
    const clang::ASTContext& C,
    unsigned int NumArgs)

Declared at: clang/include/clang/AST/ExprCXX.h:2717

Parameters

const clang::ASTContext& C
unsigned int NumArgs

TypeTraitExpr(
    clang::QualType T,
    clang::SourceLocation Loc,
    clang::TypeTrait Kind,
    ArrayRef<clang::TypeSourceInfo*> Args,
    clang::SourceLocation RParenLoc,
    bool Value)

Declared at: clang/include/clang/AST/ExprCXX.h:2694

Parameters

clang::QualType T
clang::SourceLocation Loc
clang::TypeTrait Kind
ArrayRef<clang::TypeSourceInfo*> Args
clang::SourceLocation RParenLoc
bool Value

TypeTraitExpr(clang::Stmt::EmptyShell Empty)

Declared at: clang/include/clang/AST/ExprCXX.h:2699

Parameters

clang::Stmt::EmptyShell Empty

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprCXX.h:2753

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprCXX.h:2757

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/ExprCXX.h:2748

Parameters

const clang::Stmt* T

clang::TypeSourceInfo* getArg(
    unsigned int I) const

Description

Retrieve the Ith argument.

Declared at: clang/include/clang/AST/ExprCXX.h:2734

Parameters

unsigned int I

ArrayRef<clang::TypeSourceInfo*> getArgs() const

Description

Retrieve the argument types.

Declared at: clang/include/clang/AST/ExprCXX.h:2740

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:2745

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:2746

unsigned int getNumArgs() const

Description

Determine the number of arguments to this type trait.

Declared at: clang/include/clang/AST/ExprCXX.h:2731

clang::TypeTrait getTrait() const

Description

Determine which type trait this expression uses.

Declared at: clang/include/clang/AST/ExprCXX.h:2721

bool getValue() const

Declared at: clang/include/clang/AST/ExprCXX.h:2725

size_t numTrailingObjects(
    OverloadToken<clang::TypeSourceInfo*>) const

Declared at: clang/include/clang/AST/ExprCXX.h:2701

Parameters

OverloadToken<clang::TypeSourceInfo*>