class ModelImpl;
}
+/**
+ * Abstraction of a model.
+ *
+ * Handles scoring of specific actions on gene orders.
+ */
class Model{
public:
typedef std::tr1::shared_ptr<Models::ModelImpl> 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;