Index: src/work/list_graph.h
===================================================================
--- src/work/list_graph.h	(revision 279)
+++ src/work/list_graph.h	(revision 304)
@@ -45,5 +45,5 @@
 	G(_G), container(G.node_id, a) { }
       void set(Node n, T a) { container[/*G.id(n)*/n.node->id]=a; }
-      T get(Node n) const { return container[/*G.id(n)*/n.node->id]; }
+//      T get(Node n) const { return container[/*G.id(n)*/n.node->id]; }
       typename std::vector<T>::reference operator[](Node n) { 
 	return container[/*G.id(n)*/n.node->id]; }
@@ -66,5 +66,5 @@
 	G(_G), container(G.edge_id, a) { }
       void set(Edge e, T a) { container[/*G.id(e)*/e.edge->id]=a; }
-      T get(Edge e) const { return container[/*G.id(e)*/e.edge->id]; }
+//      T get(Edge e) const { return container[/*G.id(e)*/e.edge->id]; }
       typename std::vector<T>::reference operator[](Edge e) { 
 	return container[/*G.id(e)*/e.edge->id]; } 
@@ -268,13 +268,13 @@
     /* for experimental purpose */
 
-    NodeIt& /*getF*/first(NodeIt& v) const { 
+    NodeIt& first(NodeIt& v) const { 
       v=NodeIt(*this); return v; }
-    EdgeIt& /*getF*/first(EdgeIt& e) const { 
+    EdgeIt& first(EdgeIt& e) const { 
       e=EdgeIt(*this); return e; }
-    OutEdgeIt& /*getF*/first(OutEdgeIt& e, Node v) const { 
+    OutEdgeIt& first(OutEdgeIt& e, Node v) const { 
       e=OutEdgeIt(*this, v); return e; }
-    InEdgeIt& /*getF*/first(InEdgeIt& e, Node v) const { 
+    InEdgeIt& first(InEdgeIt& e, Node v) const { 
       e=InEdgeIt(*this, v); return e; }
-    SymEdgeIt& /*getF*/first(SymEdgeIt& e, Node v) const { 
+    SymEdgeIt& first(SymEdgeIt& e, Node v) const { 
       e=SymEdgeIt(*this, v); return e; }
     //void getTail(Node& n, const Edge& e) const { n=tail(e); }
@@ -296,5 +296,5 @@
     It first() const { 
       It e;
-      /*getF*/first(e);
+      first(e);
       return e; 
     }
@@ -303,5 +303,5 @@
     It first(Node v) const { 
       It e;
-      /*getF*/first(e, v);
+      first(e, v);
       return e; 
     }
Index: src/work/marci/iterator_bfs_demo.cc
===================================================================
--- src/work/marci/iterator_bfs_demo.cc	(revision 301)
+++ src/work/marci/iterator_bfs_demo.cc	(revision 304)
@@ -21,7 +21,7 @@
   EdgeNameMap(Graph& _graph, NodeNameMap& _node_name_map) : 
     graph(_graph), node_name_map(_node_name_map) { }
-  string get(typename Graph::Edge e) const { 
+  string operator[](typename Graph::Edge e) const { 
     return 
-      (node_name_map.get(graph.tail(e))+"->"+node_name_map.get(graph.head(e)));
+      (node_name_map[graph.tail(e)]+"->"+node_name_map[graph.head(e)]);
   }
 };
@@ -96,11 +96,11 @@
     cout << "bfs and dfs iterator demo on the directed graph" << endl;
     for(GW::NodeIt n(gw); gw.valid(n); gw.next(n)) { 
-      cout << node_name.get(n) << ": ";
+      cout << node_name[n] << ": ";
       cout << "out edges: ";
       for(GW::OutEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << "in edges: ";
       for(GW::InEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << endl;
     }
@@ -112,13 +112,13 @@
       //cout << "edge: ";
       if (gw.valid(bfs)) {
-	cout << edge_name.get(bfs) << /*endl*/", " << 
-	  node_name.get(gw.aNode(bfs)) << 
-	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(bfs)) << 
+	cout << edge_name[bfs] << /*endl*/", " << 
+	  node_name[gw.aNode(bfs)] << 
+	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(bfs)] << 
 	  (bfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(bfs.aNode()) << 
+	  node_name[bfs.aNode()] << 
 	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
@@ -146,13 +146,13 @@
       //cout << "edge: ";
       if (gw.valid(dfs)) {
-	cout << edge_name.get(dfs) << /*endl*/", " << 
-	  node_name.get(gw.aNode(dfs)) << 
-	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(dfs)) << 
+	cout << edge_name[dfs] << /*endl*/", " << 
+	  node_name[gw.aNode(dfs)] << 
+	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(dfs)] << 
 	  (dfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(dfs.aNode()) << 
+	  node_name[dfs.aNode()] << 
 	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
@@ -172,11 +172,11 @@
     cout << "bfs and dfs iterator demo on the reversed directed graph" << endl;
     for(GW::NodeIt n(gw); gw.valid(n); gw.next(n)) { 
-      cout << node_name.get(n) << ": ";
+      cout << node_name[n] << ": ";
       cout << "out edges: ";
       for(GW::OutEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << "in edges: ";
       for(GW::InEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << endl;
     }
@@ -188,13 +188,13 @@
       //cout << "edge: ";
       if (gw.valid(bfs)) {
-	cout << edge_name.get(bfs) << /*endl*/", " << 
-	  node_name.get(gw.aNode(bfs)) << 
-	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(bfs)) << 
+	cout << edge_name[bfs] << /*endl*/", " << 
+	  node_name[gw.aNode(bfs)] << 
+	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(bfs)] << 
 	  (bfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(bfs.aNode()) << 
+	  node_name[bfs.aNode()] << 
 	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
@@ -222,13 +222,13 @@
       //cout << "edge: ";
       if (gw.valid(dfs)) {
-	cout << edge_name.get(dfs) << /*endl*/", " << 
-	  node_name.get(gw.aNode(dfs)) << 
-	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(dfs)) << 
+	cout << edge_name[dfs] << /*endl*/", " << 
+	  node_name[gw.aNode(dfs)] << 
+	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(dfs)] << 
 	  (dfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(dfs.aNode()) << 
+	  node_name[dfs.aNode()] << 
 	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
@@ -248,11 +248,11 @@
     cout << "bfs and dfs iterator demo on the undirected graph" << endl;
     for(GW::NodeIt n(gw); gw.valid(n); gw.next(n)) { 
-      cout << node_name.get(n) << ": ";
+      cout << node_name[n] << ": ";
       cout << "out edges: ";
       for(GW::OutEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << "in edges: ";
       for(GW::InEdgeIt e(gw, n); gw.valid(e); gw.next(e)) 
-	cout << edge_name.get(e) << " ";
+	cout << edge_name[e] << " ";
       cout << endl;
     }
@@ -268,13 +268,13 @@
       //cout << "edge: ";
       if (gw.valid(GW::OutEdgeIt(bfs))) {
-	cout << edge_name.get(GW::OutEdgeIt(bfs)) << /*endl*/", " << 
-	  node_name.get(gw.aNode(bfs)) << 
-	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(bfs)) << 
+	cout << edge_name[GW::OutEdgeIt(bfs)] << /*endl*/", " << 
+	  node_name[gw.aNode(bfs)] << 
+	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(bfs)] << 
 	  (bfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(bfs.aNode()) << 
+	  node_name[bfs.aNode()] << 
 	  (bfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
@@ -302,13 +302,13 @@
       //cout << "edge: ";
       if (gw.valid(GW::OutEdgeIt(dfs))) {
-	cout << edge_name.get(GW::OutEdgeIt(dfs)) << /*endl*/", " << 
-	  node_name.get(gw.aNode(dfs)) << 
-	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
-	  node_name.get(gw.bNode(dfs)) << 
+	cout << edge_name[GW::OutEdgeIt(dfs)] << /*endl*/", " << 
+	  node_name[gw.aNode(dfs)] << 
+	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
+	  node_name[gw.bNode(dfs)] << 
 	  (dfs.isBNodeNewlyReached() ? ": is newly reached." : 
 	   ": is not newly reached.");
       } else { 
 	cout << "invalid" << /*endl*/", " << 
-	  node_name.get(dfs.aNode()) << 
+	  node_name[dfs.aNode()] << 
 	  (dfs.isANodeExamined() ? ": is examined, " : ": is not examined, ") << 
 	  
