clang 23.0.0git
clang::ento::ExplodedNodeSet Class Reference

ExplodedNodeSet is a set of ExplodedNode * elements with the invariant that its elements cannot be nullpointers or sink nodes. More...

#include "clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h"

Public Types

using iterator = ImplTy::iterator
using const_iterator = ImplTy::const_iterator

Public Member Functions

 ExplodedNodeSet (ExplodedNode *N)
 ExplodedNodeSet ()=default
unsigned size () const
bool empty () const
bool erase (ExplodedNode *N)
void clear ()
void insert (ExplodedNode *N)
void insert (const ExplodedNodeSet &S)
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const

Detailed Description

ExplodedNodeSet is a set of ExplodedNode * elements with the invariant that its elements cannot be nullpointers or sink nodes.

Insertion of null or sink nodes is silently ignored (which is comfortable in many use cases). Note that ExplodedNode * is implicitly convertible to an ExplodedNodeSet containing 0 or 1 elements (where null pointers and sink nodes converted to the empty set). This type has set semantics (repeated insertions are ignored), but the iteration order is always the order of (first) insertion.

Definition at line 449 of file ExplodedGraph.h.

Member Typedef Documentation

◆ const_iterator

using clang::ento::ExplodedNodeSet::const_iterator = ImplTy::const_iterator

Definition at line 459 of file ExplodedGraph.h.

◆ iterator

using clang::ento::ExplodedNodeSet::iterator = ImplTy::iterator

Definition at line 458 of file ExplodedGraph.h.

Constructor & Destructor Documentation

◆ ExplodedNodeSet() [1/2]

clang::ento::ExplodedNodeSet::ExplodedNodeSet ( ExplodedNode * N)
inline

Definition at line 454 of file ExplodedGraph.h.

References insert().

Referenced by insert().

◆ ExplodedNodeSet() [2/2]

clang::ento::ExplodedNodeSet::ExplodedNodeSet ( )
default

Member Function Documentation

◆ begin() [1/2]

◆ begin() [2/2]

const_iterator clang::ento::ExplodedNodeSet::begin ( ) const
inline

Definition at line 484 of file ExplodedGraph.h.

◆ clear()

void clang::ento::ExplodedNodeSet::clear ( )
inline

Definition at line 465 of file ExplodedGraph.h.

Referenced by expandGraphWithCheckers().

◆ empty()

bool clang::ento::ExplodedNodeSet::empty ( ) const
inline

◆ end() [1/2]

◆ end() [2/2]

const_iterator clang::ento::ExplodedNodeSet::end ( ) const
inline

Definition at line 485 of file ExplodedGraph.h.

◆ erase()

bool clang::ento::ExplodedNodeSet::erase ( ExplodedNode * N)
inline

Definition at line 463 of file ExplodedGraph.h.

◆ insert() [1/2]

void clang::ento::ExplodedNodeSet::insert ( const ExplodedNodeSet & S)
inline

Definition at line 472 of file ExplodedGraph.h.

References empty(), and ExplodedNodeSet().

◆ insert() [2/2]

◆ size()

unsigned clang::ento::ExplodedNodeSet::size ( ) const
inline

Definition at line 461 of file ExplodedGraph.h.

Referenced by clang::ento::ExprEngine::VisitCXXNewExpr().


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