class CXXConstCastExpr

Declaration

class CXXConstCastExpr : public CXXNamedCastExpr,
                         private TrailingObjects { /* full declaration omitted */ };

Description

A C++ \c const_cast expression (C++ [expr.const.cast]). This expression node represents a const cast, e.g.,\c const_cast<char*>(PtrToConstChar). A const_cast can remove type qualifiers but does not change the underlying value.

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

Inherits from: CXXNamedCastExpr, TrailingObjects

Member Variables

Inherited from Stmt:

protected

Method Overview

  • private CXXConstCastExpr(clang::QualType ty, clang::ExprValueKind VK, clang::Expr * op, clang::TypeSourceInfo * writtenTy, clang::SourceLocation l, clang::SourceLocation RParenLoc, clang::SourceRange AngleBrackets)
  • private CXXConstCastExpr(clang::Stmt::EmptyShell Empty)
  • public static clang::CXXConstCastExpr * Create(const clang::ASTContext & Context, clang::QualType T, clang::ExprValueKind VK, clang::Expr * Op, clang::TypeSourceInfo * WrittenTy, clang::SourceLocation L, clang::SourceLocation RParenLoc, clang::SourceRange AngleBrackets)
  • public static clang::CXXConstCastExpr * CreateEmpty(const clang::ASTContext & Context)
  • public static bool classof(const clang::Stmt * T)

Inherited from CXXNamedCastExpr:

Inherited from ExplicitCastExpr:

Inherited from CastExpr:

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

CXXConstCastExpr(clang::QualType ty,
                 clang::ExprValueKind VK,
                 clang::Expr* op,
                 clang::TypeSourceInfo* writtenTy,
                 clang::SourceLocation l,
                 clang::SourceLocation RParenLoc,
                 clang::SourceRange AngleBrackets)

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

Parameters

clang::QualType ty
clang::ExprValueKind VK
clang::Expr* op
clang::TypeSourceInfo* writtenTy
clang::SourceLocation l
clang::SourceLocation RParenLoc
clang::SourceRange AngleBrackets

CXXConstCastExpr(clang::Stmt::EmptyShell Empty)

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

Parameters

clang::Stmt::EmptyShell Empty

static clang::CXXConstCastExpr* Create(
    const clang::ASTContext& Context,
    clang::QualType T,
    clang::ExprValueKind VK,
    clang::Expr* Op,
    clang::TypeSourceInfo* WrittenTy,
    clang::SourceLocation L,
    clang::SourceLocation RParenLoc,
    clang::SourceRange AngleBrackets)

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

Parameters

const clang::ASTContext& Context
clang::QualType T
clang::ExprValueKind VK
clang::Expr* Op
clang::TypeSourceInfo* WrittenTy
clang::SourceLocation L
clang::SourceLocation RParenLoc
clang::SourceRange AngleBrackets

static clang::CXXConstCastExpr* CreateEmpty(
    const clang::ASTContext& Context)

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

Parameters

const clang::ASTContext& Context

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

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

Parameters

const clang::Stmt* T