clang 10.0.0git

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/DeclBase.h"`
`#include "clang/AST/DeclCXX.h"`
`#include "clang/AST/DeclTemplate.h"`
`#include "clang/AST/DeclarationName.h"`
`#include "clang/AST/Expr.h"`
`#include "clang/AST/NestedNameSpecifier.h"`
`#include "clang/AST/OperationKinds.h"`
`#include "clang/AST/Stmt.h"`
`#include "clang/AST/TemplateBase.h"`
`#include "clang/AST/Type.h"`
`#include "clang/AST/UnresolvedSet.h"`
`#include "clang/Basic/ExceptionSpecificationType.h"`
`#include "clang/Basic/ExpressionTraits.h"`
`#include "clang/Basic/LLVM.h"`
`#include "clang/Basic/Lambda.h"`
`#include "clang/Basic/LangOptions.h"`
`#include "clang/Basic/OperatorKinds.h"`
`#include "clang/Basic/SourceLocation.h"`
`#include "clang/Basic/Specifiers.h"`
`#include "clang/Basic/TypeTraits.h"`
`#include "llvm/ADT/ArrayRef.h"`
`#include "llvm/ADT/None.h"`
`#include "llvm/ADT/Optional.h"`
`#include "llvm/ADT/PointerUnion.h"`
`#include "llvm/ADT/StringRef.h"`
`#include "llvm/ADT/iterator_range.h"`
`#include "llvm/Support/Casting.h"`
`#include "llvm/Support/Compiler.h"`
`#include "llvm/Support/TrailingObjects.h"`
`#include <cassert>`
`#include <cstddef>`
`#include <cstdint>`
`#include <memory>`
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
| Represents a call to a member function that may be written either with member call syntax (e.g., "obj.func()" or "objptr->func()") or with normal function-call syntax ("func()") within a member function that ends up calling a member function. More...
class | clang::CUDAKernelCallExpr
| Represents a call to a CUDA kernel function. More...
class | clang::CXXRewrittenBinaryOperator
| A rewritten comparison expression that was originally written using operator syntax. More...
struct | clang::CXXRewrittenBinaryOperator::DecomposedForm
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
| A C++ `typeid` expression (C++ [expr.typeid]), which gets the `type_info` that corresponds to the supplied type, or the (possibly dynamic) type of the supplied expression. More...
class | clang::MSPropertyRefExpr
| A member reference to an MSPropertyDecl. More...
class | clang::MSPropertySubscriptExpr
| MS property subscript expression. More...
class | clang::CXXUuidofExpr
| A Microsoft C++ `__uuidof` expression, which gets the _GUID that corresponds to the supplied type or expression. More...
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::CXXInheritedCtorInitExpr
| Represents a call to an inherited base class constructor from an inheriting 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
| An expression "T()" which creates a value-initialized rvalue of type T, which is a non-class type. More...
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. 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
| Represents an expression – generally a full-expression – that introduces cleanups to be run at the end of the sub-expression's evaluation. More...
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 or init-capture 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...
class | clang::CXXFoldExpr
| Represents a folding of a pack over an operator. More...
class | clang::CoroutineSuspendExpr
| Represents an expression that might suspend coroutine execution; either a co_await or co_yield expression. More...
class | clang::CoawaitExpr
| Represents a 'co_await' expression. More...
class | clang::DependentCoawaitExpr
| Represents a 'co_await' expression while the type of the promise is dependent. More...
class | clang::CoyieldExpr
| Represents a 'co_yield' expression. More...
class | clang::BuiltinBitCastExpr
| Represents a C++2a __builtin_bit_cast(T, v) expression. More...

## Namespaces
| clang
| Dataflow Directional Tag Classes.

## Detailed Description

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

Definition in file ExprCXX.h.