#ifndef COSTMODEL__H #define COSTMODEL__H #include #include "EdgeType.h" using std::ostream; using std::cout; using std::endl; class CostModel { public: CostModel() { weights[header] = 1000; weights[inheritance] = 100; weights[association] = 10; weights[composition] = 20; weights[dependence] = 5; weights[polymorphic] = 3; weights[ownedElement] = 50; weights[aggregation] = 50; } void setWeights(); int operator()(EdgeTypes l) const { return weights[l]; } friend ostream& operator<<(ostream&, const CostModel&); private: int weights[none]; }; #endif