LLVM  14.0.0git
Classes | Public Types | Public Member Functions | List of all members
llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet Class Reference

#include "Target/X86/ImmutableGraph.h"

Classes

class  iterator
 

Public Types

using index_iterator = typename BitVector::const_set_bits_iterator
 

Public Member Functions

 NodeSet (const ImmutableGraph &G, bool ContainsAll=false)
 
bool insert (const Node &N)
 
void erase (const Node &N)
 
bool contains (const Node &N) const
 
void clear ()
 
size_type empty () const
 
size_type count () const
 Return the number of elements in the set. More...
 
size_type size () const
 Return the size of the set's domain. More...
 
NodeSetoperator|= (const NodeSet &RHS)
 Set union. More...
 
NodeSetoperator&= (const NodeSet &RHS)
 Set intersection. More...
 
NodeSetoperator^= (const NodeSet &RHS)
 Set disjoint union. More...
 
index_iterator index_begin () const
 
index_iterator index_end () const
 
void set (size_type Idx)
 
void reset (size_type Idx)
 
iterator begin () const
 
iterator end () const
 

Detailed Description

template<typename NodeValueT, typename EdgeValueT>
class llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet

Definition at line 111 of file ImmutableGraph.h.

Member Typedef Documentation

◆ index_iterator

template<typename NodeValueT , typename EdgeValueT >
using llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::index_iterator = typename BitVector::const_set_bits_iterator

Definition at line 157 of file ImmutableGraph.h.

Constructor & Destructor Documentation

◆ NodeSet()

template<typename NodeValueT , typename EdgeValueT >
llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::NodeSet ( const ImmutableGraph G,
bool  ContainsAll = false 
)
inline

Definition at line 116 of file ImmutableGraph.h.

References G.

Member Function Documentation

◆ begin()

template<typename NodeValueT , typename EdgeValueT >
iterator llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::begin ( ) const
inline

Definition at line 195 of file ImmutableGraph.h.

References llvm::BitVector::find_first().

◆ clear()

template<typename NodeValueT , typename EdgeValueT >
void llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::clear ( )
inline

Definition at line 132 of file ImmutableGraph.h.

References llvm::BitVector::reset().

◆ contains()

template<typename NodeValueT , typename EdgeValueT >
bool llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::contains ( const Node N) const
inline

Definition at line 128 of file ImmutableGraph.h.

References G, N, and llvm::BitVector::test().

◆ count()

template<typename NodeValueT , typename EdgeValueT >
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::count ( ) const
inline

Return the number of elements in the set.

Definition at line 135 of file ImmutableGraph.h.

References llvm::BitVector::count().

◆ empty()

template<typename NodeValueT , typename EdgeValueT >
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::empty ( ) const
inline

Definition at line 133 of file ImmutableGraph.h.

References llvm::BitVector::none().

◆ end()

template<typename NodeValueT , typename EdgeValueT >
iterator llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::end ( ) const
inline

Definition at line 196 of file ImmutableGraph.h.

◆ erase()

template<typename NodeValueT , typename EdgeValueT >
void llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::erase ( const Node N)
inline

Definition at line 124 of file ImmutableGraph.h.

References G, N, and llvm::BitVector::reset().

◆ index_begin()

template<typename NodeValueT , typename EdgeValueT >
index_iterator llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::index_begin ( ) const
inline

Definition at line 158 of file ImmutableGraph.h.

References llvm::BitVector::set_bits_begin().

◆ index_end()

template<typename NodeValueT , typename EdgeValueT >
index_iterator llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::index_end ( ) const
inline

Definition at line 159 of file ImmutableGraph.h.

References llvm::BitVector::set_bits_end().

◆ insert()

template<typename NodeValueT , typename EdgeValueT >
bool llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::insert ( const Node N)
inline

Definition at line 118 of file ImmutableGraph.h.

References G, N, llvm::BitVector::set(), and llvm::BitVector::test().

◆ operator&=()

template<typename NodeValueT , typename EdgeValueT >
NodeSet& llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::operator&= ( const NodeSet RHS)
inline

Set intersection.

Definition at line 145 of file ImmutableGraph.h.

References assert().

◆ operator^=()

template<typename NodeValueT , typename EdgeValueT >
NodeSet& llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::operator^= ( const NodeSet RHS)
inline

Set disjoint union.

Definition at line 151 of file ImmutableGraph.h.

References assert().

◆ operator|=()

template<typename NodeValueT , typename EdgeValueT >
NodeSet& llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::operator|= ( const NodeSet RHS)
inline

Set union.

Definition at line 139 of file ImmutableGraph.h.

References assert().

◆ reset()

template<typename NodeValueT , typename EdgeValueT >
void llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::reset ( size_type  Idx)
inline

Definition at line 161 of file ImmutableGraph.h.

References llvm::BitVector::reset().

◆ set()

template<typename NodeValueT , typename EdgeValueT >
void llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::set ( size_type  Idx)
inline

Definition at line 160 of file ImmutableGraph.h.

References llvm::BitVector::set().

◆ size()

template<typename NodeValueT , typename EdgeValueT >
size_type llvm::ImmutableGraph< NodeValueT, EdgeValueT >::NodeSet::size ( ) const
inline

Return the size of the set's domain.

Definition at line 137 of file ImmutableGraph.h.

References llvm::BitVector::size().


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