clang 10.0.0git

Public Member Functions | Static Public Member Functions | Friends | List of all members
clang::CodeGen::EHScopeStack::stable_iterator Class Reference

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

`#include "/work/www-prereleases/10.0.0/rc1/docsbuild/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. More...
bool | strictlyEncloses (stable_iterator I) const
| Returns true if this scope strictly encloses I: that is, if it encloses I and is not I. More...

## 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.

## 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(), and clang::CodeGen::CodeGenFunction::isObviouslyBranchWithoutCleanups().

## ◆ invalid()

static stable_iterator clang::CodeGen::EHScopeStack::stable_iterator::invalid | ( |  | ) |
| inline static

Definition at line 115 of file EHScopeStack.h.

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

## ◆ isValid()

bool clang::CodeGen::EHScopeStack::stable_iterator::isValid | ( |  | ) | const
| inline

Definition at line 118 of file EHScopeStack.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitLabel(), clang::CodeGen::EHScopeStack::find(), and clang::CodeGen::CodeGenFunction::PopCleanupBlocks().

## ◆ 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::DeactivateCleanupBlock(), IsUsedAsEHCleanup(), IsUsedAsNormalCleanup(), and clang::CodeGen::CodeGenFunction::PopCleanupBlocks().

## Friends And Related Function Documentation

## ◆ EHScopeStack

friend class EHScopeStack
| friend

Definition at line 107 of file EHScopeStack.h.

## ◆ 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:

- lib/CodeGen/EHScopeStack.h