permlib
0.2.9
Library for permutation computations
|
base class for a -refinement which is used in an R-base and bound to an initial partition
More...
#include <refinement.h>
Public Types | |
typedef boost::shared_ptr< Refinement< PERM > > | RefinementPtr |
typedef std::vector< RefinementPtr >::const_iterator | RefinementPtrIterator |
Public Member Functions | |
Refinement (unsigned long n, RefinementType type) | |
constructor | |
virtual | ~Refinement () |
destructor | |
bool | initializeAndApply (Partition &pi) |
applies (left-)refinement to partition and initializes refinement for future use in R-base More... | |
virtual unsigned int | apply (Partition &pi) const =0 |
applies (left-)refinement to pi which is the original partition this refinement was initialized to More... | |
virtual unsigned int | apply2 (Partition &pi, const PERM &t) const |
applies (right-)refinement to pi which is the image of the original partition this refinement was initialized to under t More... | |
void | undo (Partition &pi, unsigned int count) const |
reverts the last count elementary intersections of partition pi | |
RefinementType | type () const |
the type of this refinement | |
unsigned int | alternatives () const |
number of sibling of this refinement in the search tree | |
RefinementPtrIterator | backtrackBegin () const |
iterator to begin of refinement siblings in the search tree | |
RefinementPtrIterator | backtrackEnd () const |
iterator to end of refinement siblings in the search tree | |
virtual bool | init (Partition &pi)=0 |
initializes refinement | |
virtual void | sort (const BaseSorterByReference &, const Partition *) |
sorts siblings in the search tree | |
Protected Member Functions | |
bool | initialized () const |
true iff refinement is initalized | |
Protected Attributes | |
unsigned long | m_n |
length of partitions to work with | |
std::vector< RefinementPtr > | m_backtrackRefinements |
refinement siblings in the search tree | |
std::list< int > | m_cellPairs |
indices of elementary intersections to apply during refinement application | |
base class for a -refinement which is used in an R-base and bound to an initial partition
|
pure virtual |
applies (left-)refinement to pi which is the original partition this refinement was initialized to
Implemented in permlib::partition::SetImageRefinement< PERM >, permlib::partition::BacktrackRefinement< PERM >, permlib::partition::SetStabilizeRefinement< PERM >, permlib::partition::MatrixRefinement2< PERM, MATRIX >, permlib::partition::MatrixRefinement1< PERM, MATRIX >, and permlib::partition::GroupRefinement< PERM, TRANS >.
|
virtual |
applies (right-)refinement to pi which is the image of the original partition this refinement was initialized to under t
Reimplemented in permlib::partition::SetImageRefinement< PERM >, and permlib::partition::GroupRefinement< PERM, TRANS >.
bool permlib::partition::Refinement< PERM >::initializeAndApply | ( | Partition & | pi | ) |
applies (left-)refinement to partition and initializes refinement for future use in R-base