//-*-c++-*- #ifndef _STRAHLERGRAPH2METRIC_H #define _STRAHLERGRAPH2METRIC_H #include /// struct Strahler { Strahler(int stra=1,int sta=0,int used=0):strahler(stra),stacks(sta),usedStack(used){} int strahler; int stacks; int usedStack; }; class StrahlerAllMetric:public Metric { public: StrahlerAllMetric(PropertyContext *); ~StrahlerAllMetric(); // double getNodeValue(const node n); // double getEdgeValue(const edge n); Strahler topSortStrahler(node n,int &curPref, STL_EXT_NS::hash_map &tofree, STL_EXT_NS::hash_map &prefix, STL_EXT_NS::hash_map &visited, STL_EXT_NS::hash_map &finished, STL_EXT_NS::hash_map &cachedValues); bool run(); bool check(std::string &); void reset(); }; #endif