class ElidedTemporaryObjectConstructionContext
Declaration
class ElidedTemporaryObjectConstructionContext
: public TemporaryObjectConstructionContext { /* full declaration omitted */ };
Description
Represents a temporary object that is constructed for the sole purpose of being immediately copied by an elidable copy/move constructor. For example, T t = T(123); includes a temporary T(123) that is immediately copied to variable t. In such cases the elidable copy can (but not necessarily should) be omitted ("elided") accodring to the rules of the language; the constructor would then construct variable t directly. This construction context contains information of the elidable constructor and its respective construction context.
Declared at: clang/include/clang/Analysis/ConstructionContext.h:549
Inherits from: TemporaryObjectConstructionContext
Member Variables
- private const clang::CXXConstructExpr* ElidedCE
- private const clang::ConstructionContext* ElidedCC
Inherited from ConstructionContext:
Method Overview
- private ElidedTemporaryObjectConstructionContext(const clang::CXXBindTemporaryExpr * BTE, const clang::MaterializeTemporaryExpr * MTE, const clang::CXXConstructExpr * ElidedCE, const clang::ConstructionContext * ElidedCC)
- public static bool classof(const clang::ConstructionContext * CC)
- public const clang::ConstructionContext * getConstructionContextAfterElision() const
- public const clang::CXXConstructExpr * getConstructorAfterElision() const
Inherited from TemporaryObjectConstructionContext:
Inherited from ConstructionContext:
Methods
¶ElidedTemporaryObjectConstructionContext(
const clang::CXXBindTemporaryExpr* BTE,
const clang::MaterializeTemporaryExpr* MTE,
const clang::CXXConstructExpr* ElidedCE,
const clang::ConstructionContext* ElidedCC)
ElidedTemporaryObjectConstructionContext(
const clang::CXXBindTemporaryExpr* BTE,
const clang::MaterializeTemporaryExpr* MTE,
const clang::CXXConstructExpr* ElidedCE,
const clang::ConstructionContext* ElidedCC)
Declared at: clang/include/clang/Analysis/ConstructionContext.h:556
Parameters
- const clang::CXXBindTemporaryExpr* BTE
- const clang::MaterializeTemporaryExpr* MTE
- const clang::CXXConstructExpr* ElidedCE
- const clang::ConstructionContext* ElidedCC
¶static bool classof(
const clang::ConstructionContext* CC)
static bool classof(
const clang::ConstructionContext* CC)
Declared at: clang/include/clang/Analysis/ConstructionContext.h:577
Parameters
- const clang::ConstructionContext* CC
¶const clang::ConstructionContext*
getConstructionContextAfterElision() const
const clang::ConstructionContext*
getConstructionContextAfterElision() const
Declared at: clang/include/clang/Analysis/ConstructionContext.h:573
¶const clang::CXXConstructExpr*
getConstructorAfterElision() const
const clang::CXXConstructExpr*
getConstructorAfterElision() const
Declared at: clang/include/clang/Analysis/ConstructionContext.h:569