clang 22.0.0git
clang::CodeGen::EHScopeStack::stable_iterator Class Reference

A saved depth on the scope stack. More...

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/EHScopeStack.h"

Public Member Functions

 stable_iterator ()
bool isValid () const
bool encloses (stable_iterator I) const
 Returns true if this scope encloses I.
bool strictlyEncloses (stable_iterator I) const
 Returns true if this scope strictly encloses I: that is, if it encloses I and is not I.

Static Public Member Functions

static stable_iterator invalid ()

Friends

class EHScopeStack
bool operator== (stable_iterator A, stable_iterator B)
bool operator!= (stable_iterator A, stable_iterator B)

Detailed Description

A saved depth on the scope stack.

This is necessary because pushing scopes onto the stack invalidates iterators.

Definition at line 106 of file EHScopeStack.h.

Constructor & Destructor Documentation

◆ stable_iterator()

clang::CodeGen::EHScopeStack::stable_iterator::stable_iterator ( )
inline

Definition at line 116 of file EHScopeStack.h.

Referenced by invalid().

Member Function Documentation

◆ encloses()

bool clang::CodeGen::EHScopeStack::stable_iterator::encloses ( stable_iterator I) const
inline

Returns true if this scope encloses I.

Returns false if I is invalid. This scope must be valid.

Definition at line 123 of file EHScopeStack.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), clang::CodeGen::CodeGenFunction::isObviouslyBranchWithoutCleanups(), and clang::CodeGen::CodeGenFunction::LexicalScope::rescopeLabels().

◆ invalid()

stable_iterator clang::CodeGen::EHScopeStack::stable_iterator::invalid ( )
inlinestatic

Definition at line 115 of file EHScopeStack.h.

References stable_iterator().

Referenced by clang::CodeGen::CodeGenFunction::getJumpDestForLabel().

◆ isValid()

◆ strictlyEncloses()

bool clang::CodeGen::EHScopeStack::stable_iterator::strictlyEncloses ( stable_iterator I) const
inline

Returns true if this scope strictly encloses I: that is, if it encloses I and is not I.

Returns false is I is invalid. This scope must be valid.

Definition at line 129 of file EHScopeStack.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), and clang::CodeGen::CodeGenFunction::PopCleanupBlocks().

◆ EHScopeStack

friend class EHScopeStack
friend

Definition at line 107 of file EHScopeStack.h.

References EHScopeStack.

Referenced by EHScopeStack.

◆ operator!=

bool operator!= ( stable_iterator A,
stable_iterator B )
friend

Definition at line 134 of file EHScopeStack.h.

◆ operator==

bool operator== ( stable_iterator A,
stable_iterator B )
friend

Definition at line 131 of file EHScopeStack.h.


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