Index: lemon/full_graph.h
===================================================================
--- lemon/full_graph.h	(revision 1979)
+++ lemon/full_graph.h	(revision 1986)
@@ -37,4 +37,7 @@
 namespace lemon {
 
+  /// \brief Base of the FullGrpah.
+  ///
+  /// Base of the FullGrpah.
   class FullGraphBase {
     int _nodeNum;
@@ -54,10 +57,23 @@
     ///Creates a full graph with \c n nodes.
     void construct(int n) { _nodeNum = n; _edgeNum = n * n; }
-    ///
-    //    FullGraphBase(const FullGraphBase &_g)
-    //      : _nodeNum(_g.nodeNum()), _edgeNum(_nodeNum*_nodeNum) { }
     
     typedef True NodeNumTag;
     typedef True EdgeNumTag;
+
+    /// \brief Returns the node with the given index.
+    ///
+    /// Returns the node with the given index. Because it is a
+    /// static size graph the node's of the graph can be indiced
+    /// by the range from 0 to \e nodeNum()-1 and the index of
+    /// the node can accessed by the \e index() member.
+    Node operator()(int index) const { return Node(index); }
+
+    /// \brief Returns the index of the node.
+    ///
+    /// Returns the index of the node. Because it is a
+    /// static size graph the node's of the graph can be indiced
+    /// by the range from 0 to \e nodeNum()-1 and the index of
+    /// the node can accessed by the \e index() member.
+    int index(const Node& node) const { return node.id; }
 
     ///Number of nodes.
@@ -203,4 +219,7 @@
   /// \sa concept::StaticGraph.
   ///
+  /// \sa FullGraphBase
+  /// \sa FullUGraph
+  ///
   /// \author Alpar Juttner
   class FullGraph : public ExtendedFullGraphBase {
@@ -215,4 +234,7 @@
     /// \brief Resize the graph
     ///
+    /// Resize the graph. The function will fully destroy and build the graph.
+    /// This cause that the maps of the graph will reallocated
+    /// automatically and the previous values will be lost.
     void resize(int n) {
       Parent::getNotifier(Edge()).clear();
@@ -225,4 +247,7 @@
 
 
+  /// \brief Base of the FullUGrpah.
+  ///
+  /// Base of the FullUGrpah.
   class FullUGraphBase {
     int _nodeNum;
@@ -242,8 +267,21 @@
     ///Creates a full graph with \c n nodes.
     void construct(int n) { _nodeNum = n; _edgeNum = n * (n - 1) / 2; }
-    ///
-    //    FullGraphBase(const FullGraphBase &_g)
-    //      : _nodeNum(_g.nodeNum()), _edgeNum(_nodeNum*_nodeNum) { }
-    
+
+    /// \brief Returns the node with the given index.
+    ///
+    /// Returns the node with the given index. Because it is a
+    /// static size graph the node's of the graph can be indiced
+    /// by the range from 0 to \e nodeNum()-1 and the index of
+    /// the node can accessed by the \e index() member.
+    Node operator()(int index) const { return Node(index); }
+
+    /// \brief Returns the index of the node.
+    ///
+    /// Returns the index of the node. Because it is a
+    /// static size graph the node's of the graph can be indiced
+    /// by the range from 0 to \e nodeNum()-1 and the index of
+    /// the node can accessed by the \e index() member.
+    int index(const Node& node) const { return node.id; }
+
     typedef True NodeNumTag;
     typedef True EdgeNumTag;
@@ -276,6 +314,6 @@
 
 
-    /// Node ID.
-    
+    /// \brief Node ID.
+    ///
     /// The ID of a valid Node is a nonnegative integer not greater than
     /// \ref maxNodeId(). The range of the ID's is not surely continuous
@@ -283,9 +321,10 @@
     ///
     /// The ID of the \ref INVALID node is -1.
-    ///\return The ID of the node \c v. 
+    /// \return The ID of the node \c v. 
 
     static int id(Node v) { return v.id; }
-    /// Edge ID.
-    
+
+    /// \brief Edge ID.
+    ///
     /// The ID of a valid Edge is a nonnegative integer not greater than
     /// \ref maxEdgeId(). The range of the ID's is not surely continuous
@@ -296,6 +335,6 @@
     static int id(Edge e) { return e.id; }
 
-    /// Finds an edge between two nodes.
-    
+    /// \brief Finds an edge between two nodes.
+    ///
     /// Finds an edge from node \c u to node \c v.
     ///
@@ -305,5 +344,5 @@
     /// \return The found edge or INVALID if there is no such an edge.
     Edge findEdge(Node u, Node v, Edge prev = INVALID) const {
-      if (prev.id != -1 || u.id <= v.id) return -1;
+      if (prev.id != -1 || u.id <= v.id) return Edge(-1);
       return Edge(u.id * (u.id - 1) / 2 + v.id);
     }
@@ -404,4 +443,5 @@
   /// it does not contain the loop edges.
   ///
+  /// \sa FullUGraphBase
   /// \sa FullGraph
   ///
@@ -417,4 +457,7 @@
     /// \brief Resize the graph
     ///
+    /// Resize the graph. The function will fully destroy and build the graph.
+    /// This cause that the maps of the graph will reallocated
+    /// automatically and the previous values will be lost.
     void resize(int n) {
       Parent::getNotifier(Edge()).clear();
@@ -613,4 +656,5 @@
   /// edges or nodes.
   ///
+  /// \sa FullUGraphBase
   /// \sa FullGraph
   ///
Index: lemon/grid_ugraph.h
===================================================================
--- lemon/grid_ugraph.h	(revision 1979)
+++ lemon/grid_ugraph.h	(revision 1986)
@@ -127,5 +127,6 @@
     /// Gives back the node on the given position.
     Node operator()(int i, int j) const {
-      LEMON_ASSERT(0 <= i && i < width() && 0 <= j  && j < height(), IndexError());
+      LEMON_ASSERT(0 <= i && i < width() && 0 <= j  && 
+                   j < height(), IndexError());
       return Node(i + j * _width);
     }
Index: lemon/hypercube_graph.h
===================================================================
--- lemon/hypercube_graph.h	(revision 1979)
+++ lemon/hypercube_graph.h	(revision 1986)
@@ -225,5 +225,5 @@
     ///
     ///  Gives back the node by its index.
-    Node node(int index) const {
+    Node operator()(int index) const {
       return Node(index);
     }
