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 451 of file ExplodedGraph.h.

Member Typedef Documentation

◆ const_iterator

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

Definition at line 461 of file ExplodedGraph.h.

◆ iterator

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

Definition at line 460 of file ExplodedGraph.h.

Constructor & Destructor Documentation

◆ ExplodedNodeSet() [1/2]

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

Definition at line 456 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 486 of file ExplodedGraph.h.

◆ clear()

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

Definition at line 467 of file ExplodedGraph.h.

Referenced by expandGraphWithCheckers().

◆ empty()

◆ end() [1/2]

◆ end() [2/2]

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

Definition at line 487 of file ExplodedGraph.h.

◆ erase()

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

Definition at line 465 of file ExplodedGraph.h.

◆ insert() [1/2]

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

Definition at line 474 of file ExplodedGraph.h.

References empty(), and ExplodedNodeSet().

◆ insert() [2/2]

◆ size()

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

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