.
authoralpar
Fri, 19 Mar 2004 07:40:00 +0000
changeset 203fc4699a76a6f
parent 202 0bd4fe53b1d0
child 204 d8107ae24128
.
doc/Doxyfile
doc/flf-graph.texi
     1.1 --- a/doc/Doxyfile	Fri Mar 19 07:39:09 2004 +0000
     1.2 +++ b/doc/Doxyfile	Fri Mar 19 07:40:00 2004 +0000
     1.3 @@ -60,7 +60,8 @@
     1.4  INPUT                  = ../src/demo/alpar/emptygraph.h \
     1.5                           ../src/doxy/invalid.h \
     1.6                           ../src/demo/alpar/smart_graph.h \
     1.7 -                         ../src/demo/alpar/mapskeleton.h
     1.8 +                         ../src/demo/alpar/mapskeleton.h \
     1.9 +                         maps.dox
    1.10  FILE_PATTERNS          = 
    1.11  RECURSIVE              = NO
    1.12  EXCLUDE                = 
     2.1 --- a/doc/flf-graph.texi	Fri Mar 19 07:39:09 2004 +0000
     2.2 +++ b/doc/flf-graph.texi	Fri Mar 19 07:40:00 2004 +0000
     2.3 @@ -21,14 +21,14 @@
     2.4  
     2.5  @subsection Types
     2.6  
     2.7 -@deftp {Type} Graph::NodeType
     2.8 -@deftpx {Type} Graph::EdgeType
     2.9 -The type of the data stored statically for each node and edge.
    2.10 -@end deftp
    2.11 +@c @deftp {Type} Graph::NodeType
    2.12 +@c @deftpx {Type} Graph::EdgeType
    2.13 +@c The type of the data stored statically for each node and edge.
    2.14 +@c @end deftp
    2.15  
    2.16  @anchor{Graph-NodeIterator}
    2.17  @deftp {Type} Graph::NodeIt
    2.18 -@deftpx {Type} Graph::NodeIterator
    2.19 +@c @deftpx {Type} Graph::NodeIterator
    2.20  These types points a node uniquely. The difference between the
    2.21  @code{NodeIt} and the @code{NodeIterator} is that @code{NodeIt}
    2.22  requires the graph structure itself for most of the operations.
    2.23 @@ -58,8 +58,9 @@
    2.24  @deftp {Type} Graph::EdgeIt
    2.25  @deftpx {Type} Graph::InEdgeIt
    2.26  @deftpx {Type} Graph::OutEdgeIt
    2.27 -@deftpx {Type} Graph::BiEdgeIt
    2.28 -@deftpx {Type} Graph::SymEdgeIt
    2.29 +@deftpx {Type} Graph::EachEdgeIt
    2.30 +@c @deftpx {Type} Graph::BiEdgeIt
    2.31 +@c @deftpx {Type} Graph::SymEdgeIt
    2.32  Each of these types points an edge uniquely. The difference between the
    2.33  @code{EdgeIt} and the
    2.34  @c @mref{Graph-NodeIterator,@code{EdgeIterator}}
    2.35 @@ -70,98 +71,106 @@
    2.36  @end deftp
    2.37  
    2.38  @anchor{Graph-EdgeIterator}
    2.39 -@deftp {Type} Graph::EdgeIterator
    2.40 -@deftpx {Type} Graph::InEdgeIterator
    2.41 -@deftpx {Type} Graph::OutEdgeIterator
    2.42 -@deftpx {Type} Graph::BiEdgeIterator
    2.43 -@deftpx {Type} Graph::SymEdgeIterator
    2.44 -@deftpx {Type} Graph::EachEdgeIterator
    2.45 -Each of these types points an edge uniquely. The difference between the
    2.46 -@code{EdgeIt} and the @code{EdgeIterator} series is that
    2.47 -@code{EdgeIt} requires the graph structure itself for most of the
    2.48 -operations. 
    2.49 +@c @deftp {Type} Graph::EdgeIterator
    2.50 +@c @deftpx {Type} Graph::InEdgeIterator
    2.51 +@c @deftpx {Type} Graph::OutEdgeIterator
    2.52 +@c @deftpx {Type} Graph::BiEdgeIterator
    2.53 +@c @deftpx {Type} Graph::SymEdgeIterator
    2.54 +@c @deftpx {Type} Graph::EachEdgeIterator
    2.55 +@c Each of these types points an edge uniquely. The difference between the
    2.56 +@c @code{EdgeIt} and the @code{EdgeIterator} series is that
    2.57 +@c @code{EdgeIt} requires the graph structure itself for most of the
    2.58 +@c operations. 
    2.59  
    2.60 -For the @code{EdgeIterator} types you can use operator @code{++}
    2.61 -(both the prefix and the posfix one) to obtain the next edge.
    2.62 -@end deftp
    2.63 +@c For the @code{EdgeIterator} types you can use operator @code{++}
    2.64 +@c (both the prefix and the posfix one) to obtain the next edge.
    2.65 +@c @end deftp
    2.66  
    2.67 -@deftp {Type} Graph::NodeMap
    2.68 -@deftpx {Type} Graph::EdgeMap
    2.69 +@deftp {Type} Graph::NodeMap<typename T>
    2.70 +@deftpx {Type} Graph::EdgeMap<typename T>
    2.71  There are the default property maps for the edges and the nodes.
    2.72  @end deftp
    2.73  
    2.74 +@deftp {Type} Graph::DynNodeMap<typename T>
    2.75 +@deftpx {Type} Graph::DynEdgeMap<typename T>
    2.76 +There are the default @emph{dynamic} property maps for the edges and the nodes.
    2.77 +@end deftp
    2.78  
    2.79  @subsection Member Functions
    2.80  
    2.81  @subsubsection Constructors
    2.82  
    2.83 -
    2.84  @deftypefun { } Graph::Graph ()
    2.85  The default constructor.
    2.86  @end deftypefun
    2.87  
    2.88  @c @deftypefun { } Graph::Graph (Graph@tie{}&)
    2.89  @deftypefun { } Graph::Graph (Graph &)
    2.90 -The copy constructor. Not yet implemented.
    2.91 +The copy constructor.
    2.92  @end deftypefun
    2.93  
    2.94  @subsubsection Graph Maintenence Operations
    2.95  
    2.96 -@deftypefun NodeIterator Graph::addNode ()
    2.97 -Adds a new node to the graph and returns a @code{NodeIterator} pointing to it.
    2.98 +@deftypefun NodeIt Graph::addNode ()
    2.99 +Adds a new node to the graph and returns a @code{NodeIt} pointing to it.
   2.100  @end deftypefun
   2.101  
   2.102 -@deftypefun EdgeIterator Graph::addEdge (@w{const @mref{Graph-NodeIterator,NodeIterator} @var{from}}, @w{const @mref{Graph-NodeIterator,NodeIterator} @var{to}})
   2.103 +@deftypefun EdgeIt Graph::addEdge (@w{const @mref{Graph-NodeIterator,NodeIt} @var{from}}, @w{const @mref{Graph-NodeIterator,NodeIt} @var{to}})
   2.104  Adds a new edge with tail @var{from} and head @var{to} to the graph
   2.105 -and returns an @code{EdgeIterator} pointing to it.
   2.106 +and returns an @code{EdgeIt} pointing to it.
   2.107  @end deftypefun
   2.108  
   2.109 -@deftypefun void Graph::delete (@w{const @mref{Graph-NodeIterator,NodeIterator} @var{n}})
   2.110 +@deftypefun void Graph::delete (@w{const @mref{Graph-NodeIterator,NodeIt} @var{n}})
   2.111  Deletes the node @var{n}. It also deletes the adjacent edges.
   2.112  @end deftypefun
   2.113  
   2.114 -@deftypefun void Graph::delete (@w{const @mref{Graph-EdgeIterator,EdgeIterator} @var{e}})
   2.115 +@deftypefun void Graph::delete (@w{const @mref{Graph-EdgeIterator,EdgeIt} @var{e}})
   2.116  Deletes the edge @var{n}.
   2.117  @end deftypefun
   2.118  
   2.119 -@deftypefun void Graph::clean ()
   2.120 +@deftypefun void Graph::clear ()
   2.121  Deletes all edges and nodes from the graph.
   2.122  @end deftypefun
   2.123  
   2.124  @deftypefun int Graph::nodeNum ()
   2.125  Returns the number of the nodes in the graph.
   2.126 +??? Is it necessary???
   2.127  @end deftypefun
   2.128  
   2.129  @subsubsection NodeIt Operations
   2.130  
   2.131 -@deftypefun NodeIt Graph::getFirst (NodeIt &@var{n})
   2.132 -@deftypefunx NodeIt Graph::next (const NodeIt @var{n})
   2.133 -@deftypefunx {NodeIt &} Graph::goNext (NodeIt &@var{n})
   2.134 -The nodes in the graph forms a list. @code{GetFirst(n)} sets @var{n} to
   2.135 -be the first node. @code{next(n)} gives back the subsequent
   2.136 -node. @code{Next(n)} is equivalent to @code{n=Next(n)}, though it
   2.137 +@deftypefun NodeIt Graph::getFirst (NodeIt &@var{n}) const
   2.138 +@deftypefunx NodeIt Graph::getNext (NodeIt @var{n}) const
   2.139 +@deftypefunx {NodeIt &} Graph::next (NodeIt &@var{n})
   2.140 +The nodes in the graph forms a list. @code{getFirst(n)} sets @var{n} to
   2.141 +be the first node. @code{getNext(n)} gives back the subsequent
   2.142 +node. @code{next(n)} is equivalent to @code{n=getNext(n)}, though it
   2.143  might be faster.  ??? What should be the return value ???
   2.144  @end deftypefun
   2.145  
   2.146  @deftypefun bool Graph::valid (NodeIt &@var{e})
   2.147 -@deftypefunx bool NodeIt::valid ()
   2.148 +@c @deftypefunx bool NodeIt::valid ()
   2.149  These functions check if and NodeIt is valid or not.
   2.150 -??? Which one should be implemented ???
   2.151 +@c ??? Which one should be implemented ???
   2.152  @end deftypefun
   2.153  
   2.154  @subsubsection EdgeIt Operations
   2.155  
   2.156 -@deftypefun EachEdgeIt Graph::getFirst (const EachEdgeIt & @var{e})
   2.157 -@deftypefunx EachEdgeIt Graph::next (const EachEdgeIt @var{n})
   2.158 -@deftypefunx {EachEdgeIt &} Graph::goNext (EachEdgeIt &@var{n})
   2.159 +@deftypefun EachEdgeIt Graph::getFirst (const EachEdgeIt & @var{e}) const
   2.160 +@deftypefunx EachEdgeIt Graph::getNext (EachEdgeIt @var{n}) const
   2.161 +@deftypefunx {EachEdgeIt &} Graph::next (EachEdgeIt &@var{n})
   2.162  With these functions you can go though all the edges of the graph.
   2.163 -??? What should be the return value ???
   2.164 +@c ??? What should be the return value ???
   2.165  @end deftypefun
   2.166  
   2.167 -@deftypefun InEdgeIt Graph::getFirst (const InEdgeIt & @var{e}, const NodeIt @var{n})
   2.168 -@deftypefunx OutEdgeIt Graph::getFirst (const OutEdgeIt & @var{e}, const NodeIt @var{n})
   2.169 -@deftypefunx SymEdgeIt Graph::getFirst (const SymEdgeIt & @var{e}, const NodeIt @var{n})
   2.170 -The edges leaving from, arriving at or adjacent with a node forms a
   2.171 +@deftypefun InEdgeIt &Graph::getFirst (InEdgeIt & @var{e}, const NodeIt @var{n})
   2.172 +@deftypefunx OutEdgeIt &Graph::getFirst (OutEdgeIt & @var{e}, const NodeIt @var{n})
   2.173 +@c @deftypefunx SymEdgeIt &Graph::getFirst (SymEdgeIt & @var{e}, const NodeIt @var{n})
   2.174 +The edges leaving from
   2.175 +or
   2.176 +arriving at
   2.177 +@c or adjacent with
   2.178 +a node forms a
   2.179  list.  These functions give back the first elements of these
   2.180  lists. The exact behavior depends on the type of @var{e}.
   2.181  
   2.182 @@ -169,9 +178,9 @@
   2.183  @code{getFirst} sets @var{e} to be the first incoming or outgoing edge
   2.184  of the node @var{n}, respectively.
   2.185  
   2.186 -If @var{e} is a @code{SymEdgeIt} then
   2.187 -@code{getFirst} sets @var{e} to be the first incoming if there exists one
   2.188 -otherwise the first outgoing edge.
   2.189 +@c If @var{e} is a @code{SymEdgeIt} then
   2.190 +@c @code{getFirst} sets @var{e} to be the first incoming if there exists one
   2.191 +@c otherwise the first outgoing edge.
   2.192  
   2.193  If there are no such edges, @var{e} will be invalid.
   2.194  
   2.195 @@ -218,7 +227,12 @@
   2.196  
   2.197  @code{bNode(e)} is the other end of the edge.
   2.198  
   2.199 -???It is implemented in an other way now. (Member function <-> Graph global)???
   2.200 +@deftypefun void Graph::setInvalid (EdgeIt &@var{e})
   2.201 +@deftypefunx void Graph::setInvalid (EdgeIt &@var{e})
   2.202 +These functions set the corresponding iterator to be invalid.
   2.203 +@end deftypefun
   2.204 +
   2.205 +@c ???It is implemented in an other way now. (Member function <-> Graph global)???
   2.206  @end deftypefun
   2.207  
   2.208