clang 20.0.0git
|
Represents construction into a simple variable with an initializer syntax, with a single constructor, eg. More...
#include "clang/Analysis/ConstructionContext.h"
Public Member Functions | |
const CXXBindTemporaryExpr * | getCXXBindTemporaryExpr () const |
Public Member Functions inherited from clang::VariableConstructionContext | |
const DeclStmt * | getDeclStmt () const |
const ArrayInitLoopExpr * | getArrayInitLoop () const override |
Public Member Functions inherited from clang::ConstructionContext | |
Kind | getKind () const |
virtual const ArrayInitLoopExpr * | getArrayInitLoop () const |
virtual | ~ConstructionContext ()=default |
Static Public Member Functions | |
static bool | classof (const ConstructionContext *CC) |
Static Public Member Functions inherited from clang::VariableConstructionContext | |
static bool | classof (const ConstructionContext *CC) |
Static Public Member Functions inherited from clang::ConstructionContext | |
static const ConstructionContext * | createFromLayers (BumpVectorContext &C, const ConstructionContextLayer *TopLayer) |
Consume the construction context layer, together with its parent layers, and wrap it up into a complete construction context. | |
Friends | |
class | ConstructionContext |
Represents construction into a simple variable with an initializer syntax, with a single constructor, eg.
T var = makeT();. Such construction context may only appear in C++17 because previously it was split into a temporary object constructor and an elidable simple variable copy-constructor and we were producing separate construction contexts for these constructors. In C++17 we have a single construction context that combines both. Note that if the object has trivial destructor, then this code is indistinguishable from a simple variable constructor on the AST level; in this case we provide a simple variable construction context.
Definition at line 367 of file ConstructionContext.h.
|
inlinestatic |
Definition at line 382 of file ConstructionContext.h.
References clang::ConstructionContext::CXX17ElidedCopyVariableKind, and clang::ConstructionContext::getKind().
|
inline |
Definition at line 380 of file ConstructionContext.h.
|
friend |
Definition at line 371 of file ConstructionContext.h.