|
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::SetStabilizeRefinement< PERM >, permlib::partition::SetImageRefinement< PERM >, permlib::partition::MatrixRefinement2< PERM, MATRIX >, permlib::partition::MatrixRefinement1< PERM, MATRIX >, permlib::partition::GroupRefinement< PERM, TRANS >, and permlib::partition::BacktrackRefinement< PERM >.
|
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