[Lemon-commits] [lemon_svn] alpar: r399 - hugo/trunk/src/include
Lemon SVN
svn at lemon.cs.elte.hu
Mon Nov 6 20:39:14 CET 2006
Author: alpar
Date: Sat Apr 3 20:42:39 2004
New Revision: 399
Modified:
hugo/trunk/src/include/smart_graph.h
Log:
Many of the old stuffs has been finally removed.
Modified: hugo/trunk/src/include/smart_graph.h
==============================================================================
--- hugo/trunk/src/include/smart_graph.h (original)
+++ hugo/trunk/src/include/smart_graph.h Sat Apr 3 20:42:39 2004
@@ -79,21 +79,11 @@
class OutEdgeIt;
class InEdgeIt;
- // class Node { int n; };
- // class NodeIt : public Node { };
- // class Edge { int n; };
- // class EdgeIt : public Edge {};
- // class OutEdgeIt : public Edge {};
- // class InEdgeIt : public Edge {};
- // class SymEdge;
-
template <typename T> class NodeMap;
template <typename T> class EdgeMap;
public:
- /* default constructor */
-
SmartGraph() : nodes(), edges() { }
SmartGraph(const SmartGraph &_g) : nodes(_g.nodes), edges(_g.edges) { }
@@ -118,15 +108,11 @@
Node tail(Edge e) const { return edges[e.n].tail; }
Node head(Edge e) const { return edges[e.n].head; }
- // Marci
Node aNode(OutEdgeIt e) const { return edges[e.n].tail; }
Node aNode(InEdgeIt e) const { return edges[e.n].head; }
-// //Node aNode(const SymEdge& e) const { return e.aNode(); }
- // Marci
Node bNode(OutEdgeIt e) const { return edges[e.n].head; }
Node bNode(InEdgeIt e) const { return edges[e.n].tail; }
-// //Node bNode(const SymEdge& e) const { return e.bNode(); }
NodeIt& first(NodeIt& v) const {
v=NodeIt(*this); return v; }
@@ -273,45 +259,6 @@
InEdgeIt(const SmartGraph& G,Node v) :Edge(G.nodes[v.n].first_in){}
};
- // Map types
-
-// // Static Maps are not necessary.
-// template <typename T>
-// class NodeMap {
-// const SmartGraph& G;
-// std::vector<T> container;
-// public:
-// typedef T ValueType;
-// typedef Node KeyType;
-// NodeMap(const SmartGraph& _G) : G(_G), container(G.maxNodeId()) { }
-// NodeMap(const SmartGraph& _G, T a) :
-// G(_G), container(G.maxNodeId(), a) { }
-// void set(Node n, T a) { container[n.n]=a; }
-// T get(Node n) const { return container[n.n]; }
-// T& operator[](Node n) { return container[n.n]; }
-// const T& operator[](Node n) const { return container[n.n]; }
-// void update() { container.resize(G.maxNodeId()); }
-// void update(T a) { container.resize(G.maxNodeId(), a); }
-// };
-
-// template <typename T>
-// class EdgeMap {
-// const SmartGraph& G;
-// std::vector<T> container;
-// public:
-// typedef T ValueType;
-// typedef Edge KeyType;
-// EdgeMap(const SmartGraph& _G) : G(_G), container(G.maxEdgeId()) { }
-// EdgeMap(const SmartGraph& _G, T a) :
-// G(_G), container(G.maxEdgeId(), a) { }
-// void set(Edge e, T a) { container[e.n]=a; }
-// T get(Edge e) const { return container[e.n]; }
-// T& operator[](Edge e) { return container[e.n]; }
-// const T& operator[](Edge e) const { return container[e.n]; }
-// void update() { container.resize(G.maxEdgeId()); }
-// void update(T a) { container.resize(G.maxEdgeId(), a); }
-// };
-
template <typename T> class NodeMap : public DynMapBase<Node>
{
std::vector<T> container;
@@ -374,12 +321,10 @@
void erase(const Node) { }
void set(Node n, T a) { container[n.n]=a; }
- //T get(Node n) const { return container[n.n]; }
- //Hajjaj:
- //T& operator[](Node n) { return container[n.n]; }
+ //'T& operator[](Node n)' would be wrong here
typename std::vector<T>::reference
operator[](Node n) { return container[n.n]; }
- //const T& operator[](Node n) const { return container[n.n]; }
+ //'const T& operator[](Node n)' would be wrong here
typename std::vector<T>::const_reference
operator[](Node n) const { return container[n.n]; }
@@ -400,8 +345,8 @@
return *this;
}
- void update() {} //Useless for DynMaps
- void update(T a) {} //Useless for DynMaps
+ void update() {} //Useless for Dynamic Maps
+ void update(T a) {} //Useless for Dynamic Maps
};
template <typename T> class EdgeMap : public DynMapBase<Edge>
More information about the Lemon-commits
mailing list