clang 10.0.0git

Classes | Public Member Functions | List of all members
clang::PostOrderCFGView::CFGBlockSet Class Reference

Implements a set of CFGBlocks using a BitVector. More...

`#include "clang/Analysis/Analyses/PostOrderCFGView.h"`

## Classes
struct | iterator

## Public Member Functions
| CFGBlockSet ()=default
| CFGBlockSet (const CFG *G)
std::pair< llvm::NoneType, bool > | insert (const CFGBlock *Block)
| Set the bit associated with a particular CFGBlock. More...
bool | alreadySet (const CFGBlock *Block)
| Check if the bit for a CFGBlock has been already set. More...

## Detailed Description

Implements a set of CFGBlocks using a BitVector.

This class contains a minimal interface, primarily dictated by the SetType template parameter of the llvm::po_iterator template, as used with external storage. We also use this set to keep track of which CFGBlocks we visit during the analysis.

Definition at line 38 of file PostOrderCFGView.h.

## Constructor & Destructor Documentation

## ◆ CFGBlockSet() [1/2]

clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet | ( |  | ) |
| default

## ◆ CFGBlockSet() [2/2]

clang::PostOrderCFGView::CFGBlockSet::CFGBlockSet | ( | const CFG * | G | ) |
| inline

Definition at line 47 of file PostOrderCFGView.h.

## Member Function Documentation

## ◆ alreadySet()

bool clang::PostOrderCFGView::CFGBlockSet::alreadySet | ( | const CFGBlock * | Block | ) |
| inline

Check if the bit for a CFGBlock has been already set.

This method is for tracking visited blocks in the main threadsafety loop. Block must not be null.

Definition at line 67 of file PostOrderCFGView.h.

References clang::CFGBlock::getBlockID().

Referenced by clang::threadSafety::CFGWalker::walk().

## ◆ insert()

std::pair<llvm::NoneType, bool> clang::PostOrderCFGView::CFGBlockSet::insert | ( | const CFGBlock * | Block | ) |
| inline

Set the bit associated with a particular CFGBlock.

This is the important method for the SetType template parameter.

Definition at line 51 of file PostOrderCFGView.h.

References clang::CFGBlock::getBlockID(), and clang::None.

Referenced by clang::threadSafety::CFGWalker::walk().

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

- include/clang/Analysis/Analyses/PostOrderCFGView.h