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

#include "Target/X86/ImmutableGraph.h"

Classes

class  iterator
 

Public Types

using index_iterator = typename BitVector::const_set_bits_iterator
 

Public Member Functions

 EdgeSet (const ImmutableGraph &G, bool ContainsAll=false)
 
bool insert (const Edge &E)
 
void erase (const Edge &E)
 
bool contains (const Edge &E) const
 
void clear ()
 
bool 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...
 
EdgeSetoperator|= (const EdgeSet &RHS)
 Set union. More...
 
EdgeSetoperator&= (const EdgeSet &RHS)
 Set intersection. More...
 
EdgeSetoperator^= (const EdgeSet &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 >::EdgeSet

Definition at line 199 of file ImmutableGraph.h.

Member Typedef Documentation

◆ index_iterator

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

Definition at line 245 of file ImmutableGraph.h.

Constructor & Destructor Documentation

◆ EdgeSet()

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

Definition at line 204 of file ImmutableGraph.h.

References G.

Member Function Documentation

◆ begin()

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

Definition at line 283 of file ImmutableGraph.h.

References llvm::BitVector::find_first().

◆ clear()

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

Definition at line 220 of file ImmutableGraph.h.

References llvm::BitVector::reset().

◆ contains()

template<typename NodeValueT , typename EdgeValueT >
bool llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::contains ( const Edge E) const
inline

Definition at line 216 of file ImmutableGraph.h.

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

◆ count()

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

Return the number of elements in the set.

Definition at line 223 of file ImmutableGraph.h.

References llvm::BitVector::count().

◆ empty()

template<typename NodeValueT , typename EdgeValueT >
bool llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::empty ( ) const
inline

Definition at line 221 of file ImmutableGraph.h.

References llvm::BitVector::none().

◆ end()

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

Definition at line 284 of file ImmutableGraph.h.

◆ erase()

template<typename NodeValueT , typename EdgeValueT >
void llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::erase ( const Edge E)
inline

Definition at line 212 of file ImmutableGraph.h.

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

◆ index_begin()

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

Definition at line 246 of file ImmutableGraph.h.

References llvm::BitVector::set_bits_begin().

◆ index_end()

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

Definition at line 247 of file ImmutableGraph.h.

References llvm::BitVector::set_bits_end().

◆ insert()

template<typename NodeValueT , typename EdgeValueT >
bool llvm::ImmutableGraph< NodeValueT, EdgeValueT >::EdgeSet::insert ( const Edge E)
inline

Definition at line 206 of file ImmutableGraph.h.

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

◆ operator&=()

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

Set intersection.

Definition at line 233 of file ImmutableGraph.h.

References assert().

◆ operator^=()

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

Set disjoint union.

Definition at line 239 of file ImmutableGraph.h.

References assert().

◆ operator|=()

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

Set union.

Definition at line 227 of file ImmutableGraph.h.

References assert().

◆ reset()

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

Definition at line 249 of file ImmutableGraph.h.

References llvm::BitVector::reset().

◆ set()

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

Definition at line 248 of file ImmutableGraph.h.

References llvm::BitVector::set().

◆ size()

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

Return the size of the set's domain.

Definition at line 225 of file ImmutableGraph.h.

References llvm::BitVector::size().


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