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:

protected K

Method Overview

Inherited from TemporaryObjectConstructionContext:

Inherited from ConstructionContext:

Methods

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)

Declared at: clang/include/clang/Analysis/ConstructionContext.h:577

Parameters

const clang::ConstructionContext* CC

const clang::ConstructionContext*
getConstructionContextAfterElision() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:573

const clang::CXXConstructExpr*
getConstructorAfterElision() const

Declared at: clang/include/clang/Analysis/ConstructionContext.h:569