class CXX17ElidedCopyVariableConstructionContext
Declaration
class CXX17ElidedCopyVariableConstructionContext
: public VariableConstructionContext { /* full declaration omitted */ };
Description
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.
Declared at: clang/include/clang/Analysis/ConstructionContext.h:367
Inherits from: VariableConstructionContext
Member Variables
- private const clang::CXXBindTemporaryExpr* BTE
Inherited from ConstructionContext:
Method Overview
- private CXX17ElidedCopyVariableConstructionContext(const clang::DeclStmt * DS, const clang::CXXBindTemporaryExpr * BTE)
- public static bool classof(const clang::ConstructionContext * CC)
- public const clang::CXXBindTemporaryExpr * getCXXBindTemporaryExpr() const
Inherited from VariableConstructionContext:
Inherited from ConstructionContext:
Methods
¶CXX17ElidedCopyVariableConstructionContext(
const clang::DeclStmt* DS,
const clang::CXXBindTemporaryExpr* BTE)
CXX17ElidedCopyVariableConstructionContext(
const clang::DeclStmt* DS,
const clang::CXXBindTemporaryExpr* BTE)
Declared at: clang/include/clang/Analysis/ConstructionContext.h:373
Parameters
- const clang::DeclStmt* DS
- const clang::CXXBindTemporaryExpr* BTE
¶static bool classof(
const clang::ConstructionContext* CC)
static bool classof(
const clang::ConstructionContext* CC)
Declared at: clang/include/clang/Analysis/ConstructionContext.h:382
Parameters
- const clang::ConstructionContext* CC
¶const clang::CXXBindTemporaryExpr*
getCXXBindTemporaryExpr() const
const clang::CXXBindTemporaryExpr*
getCXXBindTemporaryExpr() const
Declared at: clang/include/clang/Analysis/ConstructionContext.h:380