permlib  0.2.9
Library for permutation computations
Public Types | Public Member Functions | List of all members
permlib::partition::RefinementFamily< PERM > Class Template Referenceabstract

represents a class of $\mathcal P$-refinements for a given problem More...

#include <refinement_family.h>

Inheritance diagram for permlib::partition::RefinementFamily< PERM >:
permlib::partition::GroupRefinementFamily< PERM, TRANS > permlib::partition::MatrixAutomorphismRefinementFamily< PERM, MATRIX > permlib::partition::SetImageRefinementFamily< PERM > permlib::partition::SetStabilizeRefinementFamily< PERM >

Public Types

typedef Refinement< PERM >::RefinementPtr RefinementPtr
 
typedef boost::shared_ptr< PartitionPartitionPtr
 

Public Member Functions

virtual ~RefinementFamily ()
 virtual destructor
 
virtual std::pair< PartitionPtr, RefinementPtr > apply (Partition &pi) const =0
 tries to initialize a suitable Refinement<PERM> for given partition More...
 

Detailed Description

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

represents a class of $\mathcal P$-refinements for a given problem

In contrast to Refinement<PERM> , this refinement is not bound a certain partition.

Member Function Documentation

◆ apply()

template<class PERM>
virtual std::pair<PartitionPtr,RefinementPtr> permlib::partition::RefinementFamily< PERM >::apply ( Partition pi) const
pure virtual

tries to initialize a suitable Refinement<PERM> for given partition

Parameters
pipartition to initialize the refinement to
Returns
pair of the result of refinement application and refinement if a strict refinement could be found; NULL-pointers otherwise

Implemented in permlib::partition::MatrixAutomorphismRefinementFamily< PERM, MATRIX >, permlib::partition::SetImageRefinementFamily< PERM >, permlib::partition::SetStabilizeRefinementFamily< PERM >, and permlib::partition::GroupRefinementFamily< PERM, TRANS >.


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