nestedFamily Class Template Reference
[Set families]

Implements the process of merging disjoint sets and splitting sets into the former components. More...

#include <nestedFamily.h>

Inheritance diagram for nestedFamily:

managedObject goblinRootObject

Public Member Functions

 nestedFamily (TItem nn, TItem mm, goblinController &thisContext=goblinDefaultContext) throw ()
 ~nestedFamily () throw ()
void Init () throw ()
unsigned long Size () const throw ()
unsigned long Allocated () const throw ()
void Display (TItem v) const throw (ERRange)
char * Display () const throw ()
void Bud (TItem v) throw (ERRange,ERRejected)
TItem MakeSet () throw (ERRejected)
void Merge (TItem s, TItem v) throw (ERRange,ERRejected)
void FixSet (TItem s) throw (ERRange,ERRejected)
bool Top (TItem v) const throw (ERRange)
TItem Set (TItem v) const throw (ERRange)
TItem First (TItem v) const throw (ERRange)
TItem Next (TItem v) const throw (ERRange,ERRejected)
void Split (TItem v) throw (ERRange,ERRejected)
void Block (TItem v) const throw (ERRange,ERRejected)
void UnBlock (TItem v) const throw (ERRange,ERRejected)

Detailed Description

template<class TItem>
class nestedFamily< TItem >

Implements the process of merging disjoint sets and splitting sets into the former components.


Constructor & Destructor Documentation

nestedFamily TItem  nn,
TItem  mm,
goblinController thisContext = goblinDefaultContext
throw ()
 

~nestedFamily  )  throw ()
 


Member Function Documentation

unsigned long Allocated  )  const throw ()
 

Reimplemented from managedObject.

void Block TItem  v  )  const throw (ERRange,ERRejected)
 

Like Split(), but reversible.

void Bud TItem  v  )  throw (ERRange,ERRejected)
 

Prepares a real element for merge operations.

char * Display  )  const throw () [virtual]
 

Display the complete nested set family.

Reimplemented from managedObject.

void Display TItem  v  )  const throw (ERRange)
 

Display the set family nested into a given element.

TItem First TItem  v  )  const throw (ERRange)
 

Public interface of the array first[].

void FixSet TItem  s  )  throw (ERRange,ERRejected)
 

Finalize the merging elements into a toplevel set and assign a canonical element.

void Init  )  throw ()
 

TItem MakeSet  )  throw (ERRejected)
 

Prepares a new toplevel set, returning its index.

void Merge TItem  s,
TItem  v
throw (ERRange,ERRejected)
 

Merges a toplevel element into a set which is not fixed yet.

TItem Next TItem  v  )  const throw (ERRange,ERRejected)
 

Public interface of the array next[].

TItem Set TItem  v  )  const throw (ERRange)
 

Returns the toplevel set containing a given item.

unsigned long Size  )  const throw () [virtual]
 

Implements goblinRootObject.

void Split TItem  v  )  throw (ERRange,ERRejected)
 

Destroy a toplevel set and, if path compression is enabled, re-arrange B-labels.

bool Top TItem  v  )  const throw (ERRange)
 

Decides wether v is a toplevel element.

void UnBlock TItem  v  )  const throw (ERRange,ERRejected)
 

Inverse operation of Block().