X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Fmodel.h;h=4869793c407fe7bb2800136df715b03733588089;hb=43b1052d74a207fe667b75e41d0c70c1189c2cc8;hp=52e4d747c4b6eb0677e18805cc30230244e6102f;hpb=d7c119fefaf9cce07974afbefb4b6a017689a961;p=germs.git diff --git a/src/model.h b/src/model.h index 52e4d74..4869793 100644 --- a/src/model.h +++ b/src/model.h @@ -22,6 +22,7 @@ #define __MODEL_H__ #include +#include class SortAction; class GeneOrder; @@ -30,16 +31,31 @@ namespace Models { class ModelImpl; } +/** + * Abstraction of a model. + * + * Handles scoring of specific actions on gene orders. + */ class Model{ public: typedef std::tr1::shared_ptr ModelPointer; + /** + * Constructs a new model. + * + * \param model The actual model implementation. This model takes + * ownership of the new allocated implementation and will delete it. + */ Model(Models::ModelImpl* model); + /** + */ double score(const SortAction& sa, const GeneOrder& go) const; const char* name() const; + static Model modelFactory(const std::string& name); + private: ModelPointer _impl;