clang API Documentation

Classes | Namespaces
ExprCXX.h File Reference

Defines the clang::Expr interface and subclasses for C++ expressions. More...

#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/TemplateBase.h"
#include "clang/AST/UnresolvedSet.h"
#include "clang/Basic/ExpressionTraits.h"
#include "clang/AST/LambdaCapture.h"
#include "clang/Basic/TypeTraits.h"
#include "llvm/Support/Compiler.h"
Include dependency graph for ExprCXX.h:

Go to the source code of this file.

Classes

class  clang::CXXOperatorCallExpr
 A call to an overloaded operator written using operator syntax. More...
class  clang::CXXMemberCallExpr
class  clang::CUDAKernelCallExpr
 Represents a call to a CUDA kernel function. More...
class  clang::CXXNamedCastExpr
 Abstract class common to all of the C++ "named"/"keyword" casts. More...
class  clang::CXXStaticCastExpr
 A C++ static_cast expression (C++ [expr.static.cast]). More...
class  clang::CXXDynamicCastExpr
 A C++ dynamic_cast expression (C++ [expr.dynamic.cast]). More...
class  clang::CXXReinterpretCastExpr
 A C++ reinterpret_cast expression (C++ [expr.reinterpret.cast]). More...
class  clang::CXXConstCastExpr
 A C++ const_cast expression (C++ [expr.const.cast]). More...
class  clang::UserDefinedLiteral
 A call to a literal operator (C++11 [over.literal]) written as a user-defined literal (C++11 [lit.ext]). More...
class  clang::CXXBoolLiteralExpr
 A boolean literal, per ([C++ lex.bool] Boolean literals). More...
class  clang::CXXNullPtrLiteralExpr
 The null pointer literal (C++11 [lex.nullptr]) More...
class  clang::CXXStdInitializerListExpr
 Implicit construction of a std::initializer_list<T> object from an array temporary within list-initialization (C++11 [dcl.init.list]p5). More...
class  clang::CXXTypeidExpr
class  clang::MSPropertyRefExpr
 A member reference to an MSPropertyDecl. More...
class  clang::CXXUuidofExpr
class  clang::CXXThisExpr
 Represents the this expression in C++. More...
class  clang::CXXThrowExpr
 A C++ throw-expression (C++ [except.throw]). More...
class  clang::CXXDefaultArgExpr
 A default argument (C++ [dcl.fct.default]). More...
class  clang::CXXDefaultInitExpr
 A use of a default initializer in a constructor or in aggregate initialization. More...
class  clang::CXXTemporary
 Represents a C++ temporary. More...
class  clang::CXXBindTemporaryExpr
 Represents binding an expression to a temporary. More...
class  clang::CXXConstructExpr
 Represents a call to a C++ constructor. More...
class  clang::CXXFunctionalCastExpr
 Represents an explicit C++ type conversion that uses "functional" notation (C++ [expr.type.conv]). More...
class  clang::CXXTemporaryObjectExpr
 Represents a C++ functional cast expression that builds a temporary object. More...
class  clang::LambdaExpr
 A C++ lambda expression, which produces a function object (of unspecified type) that can be invoked later. More...
class  clang::CXXScalarValueInitExpr
class  clang::CXXNewExpr
 Represents a new-expression for memory allocation and constructor calls, e.g: "new CXXNewExpr(foo)". More...
class  clang::CXXDeleteExpr
 Represents a delete expression for memory deallocation and destructor calls, e.g. "delete[] pArray". More...
class  clang::PseudoDestructorTypeStorage
 Stores the type being destroyed by a pseudo-destructor expression. More...
class  clang::CXXPseudoDestructorExpr
 Represents a C++ pseudo-destructor (C++ [expr.pseudo]). More...
class  clang::TypeTraitExpr
 A type trait used in the implementation of various C++11 and Library TR1 trait templates. More...
class  clang::ArrayTypeTraitExpr
 An Embarcadero array type trait, as used in the implementation of __array_rank and __array_extent. More...
class  clang::ExpressionTraitExpr
 An expression trait intrinsic. More...
class  clang::OverloadExpr
 A reference to an overloaded function set, either an UnresolvedLookupExpr or an UnresolvedMemberExpr. More...
struct  clang::OverloadExpr::FindResult
class  clang::UnresolvedLookupExpr
 A reference to a name which we were able to look up during parsing but could not resolve to a specific declaration. More...
class  clang::DependentScopeDeclRefExpr
 A qualified reference to a name whose declaration cannot yet be resolved. More...
class  clang::ExprWithCleanups
class  clang::CXXUnresolvedConstructExpr
 Describes an explicit type conversion that uses functional notion but could not be resolved because one or more arguments are type-dependent. More...
class  clang::CXXDependentScopeMemberExpr
 Represents a C++ member access expression where the actual member referenced could not be resolved because the base expression or the member name was dependent. More...
class  clang::UnresolvedMemberExpr
 Represents a C++ member access expression for which lookup produced a set of overloaded functions. More...
class  clang::CXXNoexceptExpr
 Represents a C++11 noexcept expression (C++ [expr.unary.noexcept]). More...
class  clang::PackExpansionExpr
 Represents a C++11 pack expansion that produces a sequence of expressions. More...
class  clang::SizeOfPackExpr
 Represents an expression that computes the length of a parameter pack. More...
class  clang::SubstNonTypeTemplateParmExpr
 Represents a reference to a non-type template parameter that has been substituted with a template argument. More...
class  clang::SubstNonTypeTemplateParmPackExpr
 Represents a reference to a non-type template parameter pack that has been substituted with a non-template argument pack. More...
class  clang::FunctionParmPackExpr
 Represents a reference to a function parameter pack that has been substituted but not yet expanded. More...
class  clang::MaterializeTemporaryExpr
 Represents a prvalue temporary that is written into memory so that a reference can bind to it. More...
struct  clang::MaterializeTemporaryExpr::ExtraState
class  clang::CXXFoldExpr
 Represents a folding of a pack over an operator. More...

Namespaces

namespace  clang

Detailed Description

Defines the clang::Expr interface and subclasses for C++ expressions.

Definition in file ExprCXX.h.