cprover
union_find< T > Class Template Reference

#include <union_find.h>

Inheritance diagram for union_find< T >:
[legend]
Collaboration diagram for union_find< T >:
[legend]

Public Types

typedef numbering< T >::size_type size_type
 
- Public Types inherited from numbering< T >
typedef std::size_t number_type
 

Public Member Functions

bool make_union (const T &a, const T &b)
 
bool make_union (typename numbering< T >::const_iterator it_a, typename numbering< T >::const_iterator it_b)
 
bool same_set (const T &a, const T &b) const
 
bool same_set (typename numbering< T >::const_iterator it_a, typename numbering< T >::const_iterator it_b) const
 
const T & find (typename numbering< T >::const_iterator it) const
 
const T & find (const T &a)
 
size_type find_number (typename numbering< T >::const_iterator it) const
 
size_type find_number (size_type a) const
 
size_type find_number (const T &a)
 
bool is_root_number (size_type a) const
 
bool is_root (const T &a) const
 
bool is_root (typename numbering< T >::const_iterator it) const
 
size_type number (const T &a)
 
void clear ()
 
void isolate (typename numbering< T >::const_iterator it)
 
void isolate (const T &a)
 
- Public Member Functions inherited from numbering< T >
number_type number (const T &a)
 
number_type operator() (const T &a)
 
bool get_number (const T &a, number_type &n) const
 
void clear ()
 

Protected Types

typedef numbering< T > subt
 
- Protected Types inherited from numbering< T >
typedef std::vector< T > subt
 
typedef std::map< T, number_typenumberst
 

Protected Attributes

unsigned_union_find uuf
 
- Protected Attributes inherited from numbering< T >
numberst numbers
 

Detailed Description

template<typename T>
class union_find< T >

Definition at line 133 of file union_find.h.

Member Typedef Documentation

◆ size_type

template<typename T>
typedef numbering<T>::size_type union_find< T >::size_type

Definition at line 137 of file union_find.h.

◆ subt

template<typename T>
typedef numbering<T> union_find< T >::subt
protected

Definition at line 256 of file union_find.h.

Member Function Documentation

◆ clear()

◆ find() [1/2]

template<typename T>
const T& union_find< T >::find ( typename numbering< T >::const_iterator  it) const
inline

Definition at line 181 of file union_find.h.

Referenced by escape_domaint::merge(), and global_may_alias_domaint::merge().

◆ find() [2/2]

template<typename T>
const T& union_find< T >::find ( const T &  a)
inline

Definition at line 186 of file union_find.h.

◆ find_number() [1/3]

◆ find_number() [2/3]

template<typename T>
size_type union_find< T >::find_number ( size_type  a) const
inline

Definition at line 196 of file union_find.h.

◆ find_number() [3/3]

template<typename T>
size_type union_find< T >::find_number ( const T &  a)
inline

Definition at line 201 of file union_find.h.

◆ is_root() [1/2]

template<typename T>
bool union_find< T >::is_root ( const T &  a) const
inline

Definition at line 211 of file union_find.h.

Referenced by escape_domaint::output(), and global_may_alias_domaint::output().

◆ is_root() [2/2]

template<typename T>
bool union_find< T >::is_root ( typename numbering< T >::const_iterator  it) const
inline

Definition at line 221 of file union_find.h.

◆ is_root_number()

template<typename T>
bool union_find< T >::is_root_number ( size_type  a) const
inline

Definition at line 206 of file union_find.h.

Referenced by arrayst::update_index_map().

◆ isolate() [1/2]

◆ isolate() [2/2]

template<typename T>
void union_find< T >::isolate ( const T &  a)
inline

Definition at line 249 of file union_find.h.

◆ make_union() [1/2]

◆ make_union() [2/2]

template<typename T>
bool union_find< T >::make_union ( typename numbering< T >::const_iterator  it_a,
typename numbering< T >::const_iterator  it_b 
)
inline

Definition at line 149 of file union_find.h.

◆ number()

◆ same_set() [1/2]

◆ same_set() [2/2]

template<typename T>
bool union_find< T >::same_set ( typename numbering< T >::const_iterator  it_a,
typename numbering< T >::const_iterator  it_b 
) const
inline

Definition at line 175 of file union_find.h.

Member Data Documentation

◆ uuf


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