Jlm
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Friends | List of all members
jlm::util::DisjointSet< T >::Set Class Referencefinal

#include <disjointset.hpp>

Collaboration diagram for jlm::util::DisjointSet< T >::Set:
Collaboration graph
[legend]

Public Member Functions

bool operator== (const Set &other) const noexcept
 
bool operator!= (const Set &other) const noexcept
 
MemberIterator begin () const
 
MemberIterator end () const
 
size_t nmembers () const noexcept
 
const T & value () const noexcept
 
bool is_root () const noexcept
 

Private Member Functions

 Set (const T &value)
 
 Set (const Set &)=delete
 
 Set (Set &&other)=delete
 
Setoperator= (const Set &)=delete
 
Setoperator= (Set &&other)=delete
 
const Setroot () const noexcept
 

Static Private Member Functions

static std::unique_ptr< Setcreate (const T &value)
 

Private Attributes

value_
 
size_t size_
 
const Setnext_
 
const Setparent_
 

Friends

class DisjointSet
 

Detailed Description

template<class T>
class jlm::util::DisjointSet< T >::Set

Definition at line 90 of file disjointset.hpp.

Constructor & Destructor Documentation

◆ Set() [1/3]

template<class T >
jlm::util::DisjointSet< T >::Set::Set ( const T &  value)
inlineprivate

Definition at line 95 of file disjointset.hpp.

◆ Set() [2/3]

template<class T >
jlm::util::DisjointSet< T >::Set::Set ( const Set )
privatedelete

◆ Set() [3/3]

template<class T >
jlm::util::DisjointSet< T >::Set::Set ( Set &&  other)
privatedelete

Member Function Documentation

◆ begin()

template<class T >
MemberIterator jlm::util::DisjointSet< T >::Set::begin ( ) const
inline

Definition at line 149 of file disjointset.hpp.

◆ create()

template<class T >
static std::unique_ptr<Set> jlm::util::DisjointSet< T >::Set::create ( const T &  value)
inlinestaticprivate

Definition at line 113 of file disjointset.hpp.

◆ end()

template<class T >
MemberIterator jlm::util::DisjointSet< T >::Set::end ( ) const
inline

Definition at line 155 of file disjointset.hpp.

◆ is_root()

template<class T >
bool jlm::util::DisjointSet< T >::Set::is_root ( ) const
inlinenoexcept

Definition at line 173 of file disjointset.hpp.

◆ nmembers()

template<class T >
size_t jlm::util::DisjointSet< T >::Set::nmembers ( ) const
inlinenoexcept

Definition at line 161 of file disjointset.hpp.

◆ operator!=()

template<class T >
bool jlm::util::DisjointSet< T >::Set::operator!= ( const Set other) const
inlinenoexcept

Definition at line 143 of file disjointset.hpp.

◆ operator=() [1/2]

template<class T >
Set& jlm::util::DisjointSet< T >::Set::operator= ( const Set )
privatedelete

◆ operator=() [2/2]

template<class T >
Set& jlm::util::DisjointSet< T >::Set::operator= ( Set &&  other)
privatedelete

◆ operator==()

template<class T >
bool jlm::util::DisjointSet< T >::Set::operator== ( const Set other) const
inlinenoexcept

Definition at line 137 of file disjointset.hpp.

◆ root()

template<class T >
const Set* jlm::util::DisjointSet< T >::Set::root ( ) const
inlineprivatenoexcept

Definition at line 119 of file disjointset.hpp.

◆ value()

template<class T >
const T& jlm::util::DisjointSet< T >::Set::value ( ) const
inlinenoexcept

Definition at line 167 of file disjointset.hpp.

Friends And Related Function Documentation

◆ DisjointSet

template<class T >
friend class DisjointSet
friend

Definition at line 92 of file disjointset.hpp.

Member Data Documentation

◆ next_

template<class T >
const Set* jlm::util::DisjointSet< T >::Set::next_
mutableprivate

Definition at line 181 of file disjointset.hpp.

◆ parent_

template<class T >
const Set* jlm::util::DisjointSet< T >::Set::parent_
mutableprivate

Definition at line 182 of file disjointset.hpp.

◆ size_

template<class T >
size_t jlm::util::DisjointSet< T >::Set::size_
mutableprivate

Definition at line 180 of file disjointset.hpp.

◆ value_

template<class T >
T jlm::util::DisjointSet< T >::Set::value_
private

Definition at line 179 of file disjointset.hpp.


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