X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgenesorter.h;h=402464bcc4b8555d3d0c6541dc2ab21aa4fc18f3;hb=3401199b1ce268dd6465f09abf6264592b989140;hp=fa47b0535b188b01b14461807d335ca6f76be945;hpb=47b1f5c0294e079bc120dc8366977951aa0778bf;p=germs.git diff --git a/src/genesorter.h b/src/genesorter.h index fa47b05..402464b 100644 --- a/src/genesorter.h +++ b/src/genesorter.h @@ -21,32 +21,34 @@ #ifndef __GENESORTER_H__ #define __GENESORTER_H__ -#include "geneorder.h" -#include "sortaction.h" - #include +#include +class SortAction; +class GeneOrder; /** - * Abstract baseclass for different gene sorters. + * Sorts genes + * * \author Michael Andreen */ class GeneSorter{ public: - typedef std::vector ActionList; + typedef std::tr1::shared_ptr ActionPointer; + typedef std::vector ActionList; /** * Takes a GeneOrder, finds the actions to transform it into a sorted * permutation and returns the list with required actions. */ - virtual ActionList sort(const GeneOrder& go1) = 0; + ActionList sort(const GeneOrder& go1); /** * Find the safe actions for this GeneOrder. */ - virtual ActionList safeActions(const GeneOrder& go1) = 0; + ActionList safeActions(const GeneOrder& go1); - virtual ~GeneSorter(){}; + ~GeneSorter(){}; }; #endif