Index: src/work/alpar/emptygraph.h
===================================================================
--- src/work/alpar/emptygraph.h	(revision 145)
+++ src/work/alpar/emptygraph.h	(revision 147)
@@ -5,17 +5,45 @@
 public:
 
-  class EdgeIt {};
+  class NodeIt {
+  public:
+    NodeIt() {}   //FIXME
+    //NodeIt(const NodeIt &) {} 
+    bool operator==(NodeIt n) const {} //FIXME
+    bool operator!=(NodeIt n) const {} //FIXME
+  };
+    
+  class EachNodeIt : public NodeIt {
+  public:
+    EachNodeIt() {} //FIXME
+    EachNodeIt(const EmptyGraph &) const {}
+    EachNodeIt(const EachNodeIt &) const {} //FIXME
+  };
+    
+  class EdgeIt {
+    EdgeIt() {}   //FIXME
+    //EdgeIt(const EdgeIt &) {} 
+    bool operator==(EdgeIt n) const {} //FIXME
+    bool operator!=(EdgeIt n) const {} //FIXME    
+  };
   
-  class InEdgeIt : public EdgeIt {};
-  class OutEdgeIt : public EdgeIt {};
-  class SymEdgeIt : public EdgeIt {};
-  class EachEdgeIt : public EdgeIt {};
+  class OutEdgeIt : public EdgeIt {
+    OutEdgeIt() {}
+    OutEdgeIt(const EmptyGraph &, NodeIt) {}
+  };
 
-  class NodeIt {};
-    
-  NodeIt &getFirst(NodeIt &) const {}
+  class InEdgeIt : public EdgeIt {
+    InEdgeIt() {}
+    InEdgeIt(const EmptyGraph &, NodeIt) {}    
+  };
+  //  class SymEdgeIt : public EdgeIt {};
+  class EachEdgeIt : public EdgeIt {
+    EachEdgeIt() {}
+    EachEdgeIt(const EmptyGraph &, NodeIt) {}
+  };
+
+  EachNodeIt &getFirst(EachNodeIt &) const {}
   InEdgeIt &getFirst(InEdgeIt &, NodeIt) const {}
   OutEdgeIt &getFirst(OutEdgeIt &, NodeIt) const {}
-  SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {}
+  //  SymEdgeIt &getFirst(SymEdgeIt &, NodeIt) const {}
   EachEdgeIt &getFirst(EachEdgeIt &) const {}
 
@@ -23,5 +51,5 @@
   InEdgeIt getNext(InEdgeIt) const {}
   OutEdgeIt getNext(OutEdgeIt) const {}
-  SymEdgeIt getNext(SymEdgeIt) const {}
+  //SymEdgeIt getNext(SymEdgeIt) const {}
   EachEdgeIt getNext(EachEdgeIt) const {}
 
@@ -29,5 +57,5 @@
   InEdgeIt &next(InEdgeIt &) const {}
   OutEdgeIt &next(OutEdgeIt &) const {}
-  SymEdgeIt &next(SymEdgeIt &) const {}
+  //SymEdgeIt &next(SymEdgeIt &) const {}
   EachEdgeIt &next(EachEdgeIt &) const {}
 
@@ -35,14 +63,17 @@
   NodeIt tail(EdgeIt) const {}
   
-  NodeIt aNode(InEdgeIt) const {}
-  NodeIt aNode(OutEdgeIt) const {}
-  NodeIt aNode(SymEdgeIt) const {}
+//   NodeIt aNode(InEdgeIt) const {}
+//   NodeIt aNode(OutEdgeIt) const {}
+//   NodeIt aNode(SymEdgeIt) const {}
 
-  NodeIt bNode(InEdgeIt) const {}
-  NodeIt bNode(OutEdgeIt) const {}
-  NodeIt bNode(SymEdgeIt) const {}
+//   NodeIt bNode(InEdgeIt) const {}
+//   NodeIt bNode(OutEdgeIt) const {}
+//   NodeIt bNode(SymEdgeIt) const {}
 
-  //bool valid(const NodeIt) const {};
-  //bool valid(const EdgeIt) const {};
+  bool valid(const NodeIt) const {};
+  bool valid(const EdgeIt) const {};
+
+  int id(const NodeIt) const {};
+  int id(const EdgeIt) const {};
 
   //void setInvalid(NodeIt &) const {};
@@ -57,4 +88,7 @@
   void clear() {}
 
+  int nodeNum() {}
+  int edgeNum() {}
+
   template<class T> class NodeMap
   {
@@ -62,10 +96,15 @@
     typedef T ValueType;
     typedef NodeIt KeyType;
-    void set(NodeIt i, T t) {}
-    T get(NodeIt i) const {}
-    T &operator[](NodeIt i) {}
-      
+
     NodeMap(const Graph &G) {}
     NodeMap(const Graph &G, T t) {}
+
+    void set(NodeIt i, T t) {}
+    T get(NodeIt i) const {}  //FIXME: Is it necessary
+    T &operator[](NodeIt i) {}
+    const T &operator[](NodeIt i) const {}
+
+    update() {}
+    update(T a) {}   //FIXME: Is it necessary
   };
 
@@ -75,26 +114,31 @@
     typedef T ValueType;
     typedef EdgeIt KeyType;
+
+    EdgeMap(const Graph &G) {}
+    EdgeMap(const Graph &G, T t) {}
+    
     void set(EdgeIt i, T t) {}
     T get(EdgeIt i) const {}
     T &operator[](EdgeIt i) {}
-      
-    EdgeMap(const Graph &G) {}
-    EdgeMap(const Graph &G, T t) {}
+    
+    update() {}
+    update(T a) {}   //FIXME: Is it necessary
   };
 };
 
-class EmptyBipGraph : public EmptyGraph
-{
-  class ANodeIt {};
-  class BNodeIt {};
 
-  ANodeIt &next(ANodeIt &) {}
-  BNodeIt &next(BNodeIt &) {}
+// class EmptyBipGraph : public EmptyGraph
+// {
+//   class ANodeIt {};
+//   class BNodeIt {};
 
-  ANodeIt &getFirst(ANodeIt &) const {}
-  BNodeIt &getFirst(BNodeIt &) const {}
+//   ANodeIt &next(ANodeIt &) {}
+//   BNodeIt &next(BNodeIt &) {}
 
-  enum NodeClass { A = 0, B = 1 };
-  NodeClass getClass(NodeIt n) {}
+//   ANodeIt &getFirst(ANodeIt &) const {}
+//   BNodeIt &getFirst(BNodeIt &) const {}
 
-}
+//   enum NodeClass { A = 0, B = 1 };
+//   NodeClass getClass(NodeIt n) {}
+
+// }
Index: src/work/alpar/gwrapper.h
===================================================================
--- src/work/alpar/gwrapper.h	(revision 145)
+++ src/work/alpar/gwrapper.h	(revision 147)
@@ -182,6 +182,6 @@
   typedef typename G::EdgeIt EdgeIt;
   
-  typedef typename G::InEdgeIt SymEdgeIt;
-  typedef typename G::OutEdgeIt SymEdgeIt;
+  typedef typename G::SymEdgeIt InEdgeIt;
+  typedef typename G::SymEdgeIt OutEdgeIt;
   typedef typename G::SymEdgeIt SymEdgeIt;
   typedef typename G::EachEdgeIt EachEdgeIt;
