CBMC
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Types | Protected Attributes | Private Types | Private Attributes | List of all members
union_find< T, hasht > Class Template Referencefinal

#include <union_find.h>

+ Inheritance diagram for union_find< T, hasht >:
+ Collaboration diagram for union_find< T, hasht >:

Public Types

using  size_type = typename numbering_typet::size_type
 
using  iterator = typename numbering_typet::iterator
 
using  const_iterator = typename numbering_typet::const_iterator
 

Public Member Functions

 
 
 
 
 
const T &  find (const T &a)
 
 
 
 
 
 
 
 
void  clear ()
 
 
 
std::optional< number_typeget_number (const T &a) const
 
 
 
 
 
 
 
 
 
 

Protected Types

 

Protected Attributes

 

Private Types

 
using  number_type = typename numbering_typet::number_type
 

Private Attributes

 

Detailed Description

template<typename T, typename hasht = std::hash<T>>
class union_find< T, hasht >
Template Parameters
T The type of values stored.
hasht The type of hash used for looking up the value numbering.

Definition at line 138 of file union_find.h.

Member Typedef Documentation

◆  const_iterator

template<typename T , typename hasht = std::hash<T>>
using union_find< T, hasht >::const_iterator = typename numbering_typet::const_iterator

Definition at line 152 of file union_find.h.

◆  iterator

template<typename T , typename hasht = std::hash<T>>
using union_find< T, hasht >::iterator = typename numbering_typet::iterator

Definition at line 150 of file union_find.h.

◆  number_type

template<typename T , typename hasht = std::hash<T>>
using union_find< T, hasht >::number_type = typename numbering_typet::number_type
private

Definition at line 144 of file union_find.h.

◆  numbering_typet

template<typename T , typename hasht = std::hash<T>>
using union_find< T, hasht >::numbering_typet = numberingt<T, hasht>
private

Definition at line 140 of file union_find.h.

◆  size_type

template<typename T , typename hasht = std::hash<T>>
using union_find< T, hasht >::size_type = typename numbering_typet::size_type

Definition at line 148 of file union_find.h.

◆  subt

template<typename T , typename hasht = std::hash<T>>
protected

Definition at line 283 of file union_find.h.

Member Function Documentation

◆  begin() [1/2]

template<typename T , typename hasht = std::hash<T>>
iterator union_find< T, hasht >::begin ( )
inline

Definition at line 273 of file union_find.h.

◆  begin() [2/2]

template<typename T , typename hasht = std::hash<T>>
const_iterator union_find< T, hasht >::begin ( ) const
inline

Definition at line 274 of file union_find.h.

◆  cbegin()

template<typename T , typename hasht = std::hash<T>>
const_iterator union_find< T, hasht >::cbegin ( ) const
inline

Definition at line 275 of file union_find.h.

◆  cend()

template<typename T , typename hasht = std::hash<T>>
const_iterator union_find< T, hasht >::cend ( ) const
inline

Definition at line 279 of file union_find.h.

◆  clear()

template<typename T , typename hasht = std::hash<T>>
void union_find< T, hasht >::clear ( )
inline

Definition at line 247 of file union_find.h.

◆  end() [1/2]

template<typename T , typename hasht = std::hash<T>>
iterator union_find< T, hasht >::end ( )
inline

Definition at line 277 of file union_find.h.

◆  end() [2/2]

template<typename T , typename hasht = std::hash<T>>
const_iterator union_find< T, hasht >::end ( ) const
inline

Definition at line 278 of file union_find.h.

◆  find() [1/2]

template<typename T , typename hasht = std::hash<T>>
const T & union_find< T, hasht >::find ( const T &  a )
inline

Definition at line 196 of file union_find.h.

◆  find() [2/2]

template<typename T , typename hasht = std::hash<T>>
const T & union_find< T, hasht >::find ( const_iterator  it ) const
inline

Definition at line 191 of file union_find.h.

◆  find_number() [1/3]

template<typename T , typename hasht = std::hash<T>>
size_type union_find< T, hasht >::find_number ( const T &  a )
inline

Definition at line 211 of file union_find.h.

◆  find_number() [2/3]

template<typename T , typename hasht = std::hash<T>>
size_type union_find< T, hasht >::find_number ( const_iterator  it ) const
inline

Definition at line 201 of file union_find.h.

◆  find_number() [3/3]

template<typename T , typename hasht = std::hash<T>>
size_type union_find< T, hasht >::find_number ( size_type  a ) const
inline

Definition at line 206 of file union_find.h.

◆  get_number()

template<typename T , typename hasht = std::hash<T>>
std::optional< number_type > union_find< T, hasht >::get_number ( const T &  a ) const
inline

Definition at line 263 of file union_find.h.

◆  is_root() [1/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::is_root ( const T &  a ) const
inline

Definition at line 221 of file union_find.h.

◆  is_root() [2/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::is_root ( const_iterator  it ) const
inline

Definition at line 230 of file union_find.h.

◆  is_root_number()

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::is_root_number ( size_type  a ) const
inline

Definition at line 216 of file union_find.h.

◆  isolate() [1/2]

template<typename T , typename hasht = std::hash<T>>
void union_find< T, hasht >::isolate ( const T &  a )
inline

Definition at line 258 of file union_find.h.

◆  isolate() [2/2]

template<typename T , typename hasht = std::hash<T>>
void union_find< T, hasht >::isolate ( const_iterator  it )
inline

Definition at line 253 of file union_find.h.

◆  make_union() [1/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::make_union ( const T &  a,
const T &  b 
)
inline

Definition at line 155 of file union_find.h.

◆  make_union() [2/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::make_union ( const_iterator  it_a,
const_iterator  it_b 
)
inline

Definition at line 164 of file union_find.h.

◆  number()

template<typename T , typename hasht = std::hash<T>>
size_type union_find< T, hasht >::number ( const T &  a )
inline

Definition at line 235 of file union_find.h.

◆  operator[]() [1/2]

template<typename T , typename hasht = std::hash<T>>
T & union_find< T, hasht >::operator[] ( size_type  t )
inline

Definition at line 270 of file union_find.h.

◆  operator[]() [2/2]

template<typename T , typename hasht = std::hash<T>>
const T & union_find< T, hasht >::operator[] ( size_type  t ) const
inline

Definition at line 271 of file union_find.h.

◆  same_set() [1/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::same_set ( const T &  a,
const T &  b 
) const
inline

Definition at line 173 of file union_find.h.

◆  same_set() [2/2]

template<typename T , typename hasht = std::hash<T>>
bool union_find< T, hasht >::same_set ( const_iterator  it_a,
const_iterator  it_b 
) const
inline

Definition at line 186 of file union_find.h.

◆  size()

template<typename T , typename hasht = std::hash<T>>
size_t union_find< T, hasht >::size ( ) const
inline

Definition at line 268 of file union_find.h.

Member Data Documentation

◆  numbers

template<typename T , typename hasht = std::hash<T>>
private

Definition at line 141 of file union_find.h.

◆  uuf

template<typename T , typename hasht = std::hash<T>>
protected

Definition at line 282 of file union_find.h.


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

AltStyle によって変換されたページ (->オリジナル) /