permlib  0.2.8
Library for permutation computations
 All Classes Functions Variables Typedefs Enumerations Friends
Public Member Functions
permlib::partition::SetImageRefinement< PERM > Class Template Reference

#include <set_image_refinement.h>

Inheritance diagram for permlib::partition::SetImageRefinement< PERM >:
permlib::partition::Refinement< PERM >

List of all members.

Public Member Functions

template<class InputIterator >
 SetImageRefinement (unsigned long n, InputIterator begin, InputIterator end, InputIterator beginImg, InputIterator endImg)
 constructor
virtual unsigned int apply (Partition &pi) const
 applies (left-)refinement to pi which is the original partition this refinement was initialized to
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
virtual bool init (Partition &pi)
 initializes refinement
- Public Member Functions inherited from permlib::partition::Refinement< PERM >
 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
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 void sort (const BaseSorterByReference &, const Partition *)
 sorts siblings in the search tree

Additional Inherited Members

- Public Types inherited from permlib::partition::Refinement< PERM >
typedef boost::shared_ptr
< Refinement< PERM > > 
RefinementPtr
typedef std::vector
< RefinementPtr >
::const_iterator 
RefinementPtrIterator
- Protected Member Functions inherited from permlib::partition::Refinement< PERM >
bool initialized () const
 true iff refinement is initalized
- Protected Attributes inherited from permlib::partition::Refinement< PERM >
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

Detailed Description

template<class PERM>
class permlib::partition::SetImageRefinement< PERM >

concrete $\mathcal P$-refinements for set image

See also:
SetImagePredicate

Constructor & Destructor Documentation

template<class PERM >
template<class InputIterator >
permlib::partition::SetImageRefinement< PERM >::SetImageRefinement ( unsigned long  n,
InputIterator  begin,
InputIterator  end,
InputIterator  beginImg,
InputIterator  endImg 
)

constructor

Parameters:
ncardinality of the set the group acts on
beginiterator(unsigned long) begin of the set $\Delta$
enditerator(unsigned long) end of the set $\Delta$
beginImgiterator(unsigned long) begin of the set $\Gamma$
endImgiterator(unsigned long) end of the set $\Gamma$

Member Function Documentation

template<class PERM >
unsigned int permlib::partition::SetImageRefinement< PERM >::apply ( Partition pi) const
virtual

applies (left-)refinement to pi which is the original partition this refinement was initialized to

See also:
undo
apply2
Returns:
number of elementary intersections that were needed for refinement application

Implements permlib::partition::Refinement< PERM >.

template<class PERM >
unsigned int permlib::partition::SetImageRefinement< PERM >::apply2 ( Partition pi,
const PERM &  t 
) const
virtual

applies (right-)refinement to pi which is the image of the original partition this refinement was initialized to under t

See also:
undo
apply
Returns:
number of elementary intersections that were needed for refinement application

Reimplemented from permlib::partition::Refinement< PERM >.


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