class CXXBindTemporaryExpr

Declaration

class CXXBindTemporaryExpr : public Expr { /* full declaration omitted */ };

Description

Represents binding an expression to a temporary. This ensures the destructor is called for the temporary. It should only be needed for non-POD, non-trivially destructable class types. For example:

Declared at: clang/include/clang/AST/ExprCXX.h:1412

Inherits from: Expr

Member Variables

private clang::CXXTemporary* Temp = nullptr
private clang::Stmt* SubExpr = nullptr

Inherited from Stmt:

protected

Method Overview

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

CXXBindTemporaryExpr(clang::CXXTemporary* temp,
                     clang::Expr* SubExpr)

Declared at: clang/include/clang/AST/ExprCXX.h:1416

Parameters

clang::CXXTemporary* temp
clang::Expr* SubExpr

CXXBindTemporaryExpr(
    clang::Stmt::EmptyShell Empty)

Declared at: clang/include/clang/AST/ExprCXX.h:1424

Parameters

clang::Stmt::EmptyShell Empty

static clang::CXXBindTemporaryExpr* Create(
    const clang::ASTContext& C,
    clang::CXXTemporary* Temp,
    clang::Expr* SubExpr)

Declared at: clang/include/clang/AST/ExprCXX.h:1427

Parameters

const clang::ASTContext& C
clang::CXXTemporary* Temp
clang::Expr* SubExpr

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/ExprCXX.h:1452

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/ExprCXX.h:1454

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/ExprCXX.h:1447

Parameters

const clang::Stmt* T

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1438

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/ExprCXX.h:1442

const clang::Expr* getSubExpr() const

Declared at: clang/include/clang/AST/ExprCXX.h:1434

clang::Expr* getSubExpr()

Declared at: clang/include/clang/AST/ExprCXX.h:1435

clang::CXXTemporary* getTemporary()

Declared at: clang/include/clang/AST/ExprCXX.h:1430

const clang::CXXTemporary* getTemporary() const

Declared at: clang/include/clang/AST/ExprCXX.h:1431

void setSubExpr(clang::Expr* E)

Declared at: clang/include/clang/AST/ExprCXX.h:1436

Parameters

clang::Expr* E

void setTemporary(clang::CXXTemporary* T)

Declared at: clang/include/clang/AST/ExprCXX.h:1432

Parameters

clang::CXXTemporary* T