clang 22.0.0git
clang::BlockDecl::Capture Class Reference

A class which contains all the information about a particular captured value. More...

#include "clang/AST/Decl.h"

Public Member Functions

 Capture (VarDecl *variable, bool byRef, bool nested, Expr *copy)
VarDeclgetVariable () const
 The variable being captured.
bool isByRef () const
 Whether this is a "by ref" capture, i.e.
bool isEscapingByref () const
bool isNonEscapingByref () const
bool isNested () const
 Whether this is a nested capture, i.e.
bool hasCopyExpr () const
ExprgetCopyExpr () const
void setCopyExpr (Expr *e)

Detailed Description

A class which contains all the information about a particular captured value.

Definition at line 4640 of file Decl.h.

Constructor & Destructor Documentation

◆ Capture()

clang::BlockDecl::Capture::Capture ( VarDecl * variable,
bool byRef,
bool nested,
Expr * copy )
inline

Member Function Documentation

◆ getCopyExpr()

Expr * clang::BlockDecl::Capture::getCopyExpr ( ) const
inline

◆ getVariable()

◆ hasCopyExpr()

bool clang::BlockDecl::Capture::hasCopyExpr ( ) const
inline

Definition at line 4679 of file Decl.h.

◆ isByRef()

bool clang::BlockDecl::Capture::isByRef ( ) const
inline

Whether this is a "by ref" capture, i.e.

a capture of a __block variable.

Definition at line 4665 of file Decl.h.

Referenced by computeCopyInfoForBlockCapture(), clang::CodeGen::CGDebugInfo::EmitDeclareOfBlockLiteralArgVariable(), and clang::CodeGen::CodeGenFunction::GenerateCopyHelperFunction().

◆ isEscapingByref()

bool clang::BlockDecl::Capture::isEscapingByref ( ) const
inline

◆ isNested()

bool clang::BlockDecl::Capture::isNested ( ) const
inline

Whether this is a nested capture, i.e.

the variable captured is not from outside the immediately enclosing function/block.

Definition at line 4677 of file Decl.h.

Referenced by getCaptureFieldType().

◆ isNonEscapingByref()

bool clang::BlockDecl::Capture::isNonEscapingByref ( ) const
inline

Definition at line 4671 of file Decl.h.

References getVariable(), and clang::VarDecl::isNonEscapingByref().

◆ setCopyExpr()

void clang::BlockDecl::Capture::setCopyExpr ( Expr * e)
inline

Definition at line 4681 of file Decl.h.


The documentation for this class was generated from the following file: