]> ruin.nu Git - germs.git/blobdiff - src/model.h
Check for TR1 or Boost
[germs.git] / src / model.h
index 8bc41d4bcf73da0bf9b4c1d366360ccce00b8f0e..235f164d4cd28325c68daac533538c166ef44dd0 100644 (file)
@@ -21,7 +21,8 @@
 #ifndef __MODEL_H__
 #define __MODEL_H__
 
-#include <tr1/memory>
+#include "shared_ptr.h"
+#include <string>
 
 class SortAction;
 class GeneOrder;
@@ -37,7 +38,7 @@ namespace Models {
  */
 class Model{
        public:
-               typedef std::tr1::shared_ptr<Models::ModelImpl> ModelPointer;
+               typedef shared_ptr<Models::ModelImpl> ModelPointer;
 
                /**
                 * Constructs a new model.
@@ -48,11 +49,21 @@ class Model{
                Model(Models::ModelImpl* model);
 
                /**
+                * Gives the score for the action on a given gene order.
+                * A better match for this model gives a higher score.
                 */
                double score(const SortAction& sa, const GeneOrder& go) const;
 
+               /**
+                * The name for the model used.
+                */
                const char* name() const;
 
+               /**
+                * Creates a model from a name.
+                */
+               static Model modelFactory(const std::string& name);
+
        private:
                ModelPointer _impl;