[Lemon-commits] [lemon_svn] alpar: r1015 - hugo/trunk/src/work/johanna

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:42:44 CET 2006


Author: alpar
Date: Wed Aug  4 21:04:42 2004
New Revision: 1015

Modified:
   hugo/trunk/src/work/johanna/kruskal.h

Log:
- 'KruskalPairVec' is changed to 'KruskalMapInput'.
- Changes in KruskalMapVec. Still does not work.

Modified: hugo/trunk/src/work/johanna/kruskal.h
==============================================================================
--- hugo/trunk/src/work/johanna/kruskal.h	(original)
+++ hugo/trunk/src/work/johanna/kruskal.h	Wed Aug  4 21:04:42 2004
@@ -117,7 +117,7 @@
   /// Kruskal input source.
   ///
   template<typename Graph, typename Map>
-  class KruskalPairVec
+  class KruskalMapInput
     : public std::vector< std::pair<typename Graph::Edge,
 				    typename Map::ValueType> > {
     
@@ -143,14 +143,14 @@
   public:
 
     // FIXME: kell ez?
-    // KruskalPairVec(Parent const& p) : Parent(p) {}
+    // KruskalMapInput(Parent const& p) : Parent(p) {}
     
     void sort() {
       std::sort(this->begin(), this->end(), comparePair());
     }
 
     // FIXME: nem nagyon illik ez ide...
-    KruskalPairVec(Graph const& G, Map const& m) {
+    KruskalMapInput(Graph const& G, Map const& m) {
       typedef typename Graph::EdgeIt EdgeIt;
       
       this->clear();
@@ -169,21 +169,46 @@
   };
 
 
-//   template <typename Map>
-//   class KruskalMapVec : public std::vector<typename Map::KeyType> {
+//   template<typename Graph, typename Map>
+//   class KruskalMapVec {
 //   public:
     
-//     typedef typename Map::KeyType KeyType;
-//     typedef typename Map::ValueType ValueType;
-
-//     typedef typename std::vector<KeyType> Parent;
-//     typedef typename Parent::iterator iterator;
-//     typedef typename Parent::const_iterator const_iterator;
-
-//   private:
-
+//     typedef std::pair<typename Map::KeyType, Map::ValueType> value_type;
+    
+//     typedef std::vector<KeyType> Container;
+//     Container container;
+//     std::vector<typename Map::KeyType> container
 //     const Map &m;
+    
+    
+//     class iterator
+//     {
+//       Container::iterator i;
+//     public:
+//       iterator &operator ++() {++i;return *this;}
+//       valuetype operator *() {return value_type(container(i),m[container(i)]);}
+//       bool operator==(iterator b) {return i==b.i;}
+//       iterator() {}
+//       iterator(Container::iterator _i) i(_i) {}
+//     };
+//     class const_iterator
+//     {
+//       Container::const_iterator i;
+//     public:
+//       iterator &operator ++() {++i;return *this;}
+//       valuetype operator *() {return value_type(container(i),m[container(i)]);}
+//       bool operator==(iterator b) {return i==b.i;}
+//       const_iterator() {}
+//       const_iterator(Container::iterator _i) i(_i) {}
+//     };
 
+//     iterator begin() { return iterator(container.begin());}
+//     const_iterator begin() const { return iterator(container.begin());}
+//     iterator end() { return iterator(container.end());}
+//     const_iterator end() const { return iterator(container.end());}
+    
+//   private:
+    
 //     class compareKeys {
 //       const Map &m;
 //     public:
@@ -221,6 +246,7 @@
 //     ValueType& second(iterator i) { return m[*i]; }
 //   };
 
+
   /* ** ** Wrapper fuggvenyek ** ** */
 
 
@@ -236,7 +262,7 @@
 			EdgeCostMap const& edge_costs,
 			RetEdgeBoolMap &ret_bool_map) {
     
-    typedef KruskalPairVec<Graph,EdgeCostMap> InputVec;
+    typedef KruskalMapInput<Graph,EdgeCostMap> InputVec;
     
     InputVec iv(G, edge_costs);
     return kruskal(G, iv, ret_bool_map);
@@ -260,7 +286,7 @@
     typedef SequenceOutput<RetIterator> OutMap;
     OutMap out(ret_iterator);
 
-    typedef KruskalPairVec<Graph, EdgeCostMap> InputVec;
+    typedef KruskalMapInput<Graph, EdgeCostMap> InputVec;
 
     InputVec iv(G, edge_costs);
 



More information about the Lemon-commits mailing list