clang  6.0.0svn
Public Types | Public Member Functions | List of all members
clang::sema::CapturingScopeInfo::Capture Class Reference

#include "clang/Sema/ScopeInfo.h"

Public Types

enum  IsThisCapture { ThisCapture }
 

Public Member Functions

 Capture (VarDecl *Var, bool Block, bool ByRef, bool IsNested, SourceLocation Loc, SourceLocation EllipsisLoc, QualType CaptureType, Expr *Cpy)
 
 Capture (IsThisCapture, bool IsNested, SourceLocation Loc, QualType CaptureType, Expr *Cpy, const bool ByCopy)
 
bool isThisCapture () const
 
bool isVariableCapture () const
 
bool isCopyCapture () const
 
bool isReferenceCapture () const
 
bool isBlockCapture () const
 
bool isVLATypeCapture () const
 
bool isNested () const
 
bool isODRUsed () const
 
bool isNonODRUsed () const
 
void markUsed (bool IsODRUse)
 
VarDeclgetVariable () const
 
SourceLocation getLocation () const
 Retrieve the location at which this variable was captured. More...
 
SourceLocation getEllipsisLoc () const
 Retrieve the source location of the ellipsis, whose presence indicates that the capture is a pack expansion. More...
 
QualType getCaptureType () const
 Retrieve the capture type for this capture, which is effectively the type of the non-static data member in the lambda/block structure that would store this capture. More...
 
ExprgetInitExpr () const
 

Detailed Description

Definition at line 469 of file ScopeInfo.h.

Member Enumeration Documentation

◆ IsThisCapture

Enumerator
ThisCapture 

Definition at line 528 of file ScopeInfo.h.

Constructor & Destructor Documentation

◆ Capture() [1/2]

clang::sema::CapturingScopeInfo::Capture::Capture ( VarDecl Var,
bool  Block,
bool  ByRef,
bool  IsNested,
SourceLocation  Loc,
SourceLocation  EllipsisLoc,
QualType  CaptureType,
Expr Cpy 
)
inline

Definition at line 518 of file ScopeInfo.h.

◆ Capture() [2/2]

clang::sema::CapturingScopeInfo::Capture::Capture ( IsThisCapture  ,
bool  IsNested,
SourceLocation  Loc,
QualType  CaptureType,
Expr Cpy,
const bool  ByCopy 
)
inline

Definition at line 529 of file ScopeInfo.h.

Member Function Documentation

◆ getCaptureType()

QualType clang::sema::CapturingScopeInfo::Capture::getCaptureType ( ) const
inline

Retrieve the capture type for this capture, which is effectively the type of the non-static data member in the lambda/block structure that would store this capture.

Definition at line 576 of file ScopeInfo.h.

Referenced by isVariableAlreadyCapturedInScopeInfo().

◆ getEllipsisLoc()

SourceLocation clang::sema::CapturingScopeInfo::Capture::getEllipsisLoc ( ) const
inline

Retrieve the source location of the ellipsis, whose presence indicates that the capture is a pack expansion.

Definition at line 571 of file ScopeInfo.h.

◆ getInitExpr()

Expr* clang::sema::CapturingScopeInfo::Capture::getInitExpr ( ) const
inline

Definition at line 581 of file ScopeInfo.h.

◆ getLocation()

SourceLocation clang::sema::CapturingScopeInfo::Capture::getLocation ( ) const
inline

Retrieve the location at which this variable was captured.

Definition at line 567 of file ScopeInfo.h.

◆ getVariable()

VarDecl* clang::sema::CapturingScopeInfo::Capture::getVariable ( ) const
inline

Definition at line 562 of file ScopeInfo.h.

◆ isBlockCapture()

bool clang::sema::CapturingScopeInfo::Capture::isBlockCapture ( ) const
inline

Definition at line 549 of file ScopeInfo.h.

◆ isCopyCapture()

bool clang::sema::CapturingScopeInfo::Capture::isCopyCapture ( ) const
inline

Definition at line 543 of file ScopeInfo.h.

Referenced by isVariableAlreadyCapturedInScopeInfo().

◆ isNested()

bool clang::sema::CapturingScopeInfo::Capture::isNested ( ) const
inline

Definition at line 555 of file ScopeInfo.h.

◆ isNonODRUsed()

bool clang::sema::CapturingScopeInfo::Capture::isNonODRUsed ( ) const
inline

Definition at line 559 of file ScopeInfo.h.

◆ isODRUsed()

bool clang::sema::CapturingScopeInfo::Capture::isODRUsed ( ) const
inline

Definition at line 558 of file ScopeInfo.h.

◆ isReferenceCapture()

bool clang::sema::CapturingScopeInfo::Capture::isReferenceCapture ( ) const
inline

Definition at line 546 of file ScopeInfo.h.

◆ isThisCapture()

bool clang::sema::CapturingScopeInfo::Capture::isThisCapture ( ) const
inline

Definition at line 537 of file ScopeInfo.h.

◆ isVariableCapture()

bool clang::sema::CapturingScopeInfo::Capture::isVariableCapture ( ) const
inline

Definition at line 540 of file ScopeInfo.h.

◆ isVLATypeCapture()

bool clang::sema::CapturingScopeInfo::Capture::isVLATypeCapture ( ) const
inline

Definition at line 552 of file ScopeInfo.h.

◆ markUsed()

void clang::sema::CapturingScopeInfo::Capture::markUsed ( bool  IsODRUse)
inline

Definition at line 560 of file ScopeInfo.h.

Referenced by clang::Sema::tryCaptureVariable().


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