]> ruin.nu Git - germs.git/blobdiff - src/modelidentifier.h
DOC: more doxygen documentation
[germs.git] / src / modelidentifier.h
index a42e0efb7097fe05ed34a8175c9a05633baf5d18..a725136bf565f2813b1c5e601ebcb6f523713b43 100644 (file)
 
 #include "geneorder.h"
 
-#include <map>
+#include <queue>
 #include <string>
 #include <stdexcept>
 
 struct fann;
+class Model;
+
 
 /**
  * Identifies the model this gene order belongs to
@@ -35,9 +37,6 @@ struct fann;
  */
 class ModelIdentifier{
        public:
-               //TODO: Make a Model class with functions for scoring SortActions
-               //one subclass for each model. Possibly storing name as string too.
-               enum Model{Whirl,X,FatX,Zipper,Cloud};
 
                /**
                 * Creates a new identifier given an artificial neural network
@@ -52,11 +51,9 @@ class ModelIdentifier{
                /**
                 * Identifies the model for a given gene order.
                 *
-                * \returns a map with the model as key and the score between -1 and 1
+                * \returns a priority_queue with the model as key and the score between -1 and 1
                 */
-               std::map<Model,double> identify(const GeneOrder& go);
-
-               static std::string modelName(Model m);
+               std::priority_queue<std::pair<double,Model> > identify(const GeneOrder& go);
 
                ~ModelIdentifier();
        private: