clang: clang::TemporaryObjectConstructionContext Class Reference (original) (raw)
Represents a temporary object, eg. More...
#include "[clang/Analysis/ConstructionContext.h](ConstructionContext%5F8h%5Fsource.html)"
| Public Member Functions | |
|---|---|
| const CXXBindTemporaryExpr * | getCXXBindTemporaryExpr () const |
| CXXBindTemporaryExpr here is non-null as long as the temporary has a non-trivial destructor. | |
| const MaterializeTemporaryExpr * | getMaterializedTemporaryExpr () const |
| MaterializeTemporaryExpr is non-null as long as the temporary is actually used after construction, eg. | |
| Public Member Functions inherited from clang::ConstructionContext | |
| Kind | getKind () const |
| virtual const ArrayInitLoopExpr * | getArrayInitLoop () const |
| virtual | ~ConstructionContext ()=default |
| Additional Inherited Members | |
|---|---|
| Public Types inherited from clang::ConstructionContext | |
| enum | Kind { SimpleVariableKind, CXX17ElidedCopyVariableKind, VARIABLE_BEGIN = SimpleVariableKind , VARIABLE_END = CXX17ElidedCopyVariableKind , SimpleConstructorInitializerKind, CXX17ElidedCopyConstructorInitializerKind, INITIALIZER_BEGIN = SimpleConstructorInitializerKind , INITIALIZER_END = CXX17ElidedCopyConstructorInitializerKind , NewAllocatedObjectKind, SimpleTemporaryObjectKind, ElidedTemporaryObjectKind, TEMPORARY_BEGIN = SimpleTemporaryObjectKind , TEMPORARY_END = ElidedTemporaryObjectKind , SimpleReturnedValueKind, CXX17ElidedCopyReturnedValueKind, RETURNED_VALUE_BEGIN = SimpleReturnedValueKind , RETURNED_VALUE_END = CXX17ElidedCopyReturnedValueKind , ArgumentKind, LambdaCaptureKind } |
| Protected Attributes inherited from clang::ConstructionContext | |
| Kind | K |
Represents a temporary object, eg.
T(123), that does not immediately cross function boundaries "by value"; constructors that construct function value-type arguments or values that are immediately returned from the function that returns a value receive separate construction context kinds.
Definition at line 486 of file ConstructionContext.h.
◆ classof()
◆ getCXXBindTemporaryExpr()
| const CXXBindTemporaryExpr * clang::TemporaryObjectConstructionContext::getCXXBindTemporaryExpr ( ) const | inline |
|---|
◆ getMaterializedTemporaryExpr()
| const MaterializeTemporaryExpr * clang::TemporaryObjectConstructionContext::getMaterializedTemporaryExpr ( ) const | inline |
|---|
MaterializeTemporaryExpr is non-null as long as the temporary is actually used after construction, eg.
by binding to a reference (lifetime extension), accessing a field, calling a method, or passing it into a function (an elidable copy or move constructor would be a common example) by reference.
Definition at line 513 of file ConstructionContext.h.
The documentation for this class was generated from the following file:
- include/clang/Analysis/ConstructionContext.h