COIN-OR::LEMON - Graph Library

Changeset 880:9d0bfd35b97c in lemon-0.x for src/hugo


Ignore:
Timestamp:
09/17/04 17:51:50 (20 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1188
Message:
  • Name changing: XYZGraphSkeleton -> XYZGraph
  • Fix some bad \ref's in the doc.
Location:
src/hugo
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • src/hugo/dijkstra.h

    r802 r880  
    1919  ///This class provides an efficient implementation of %Dijkstra algorithm.
    2020  ///The edge lengths are passed to the algorithm using a
    21   ///\ref ReadMapSkeleton "readable map",
     21  ///\ref skeleton::ReadMap "ReadMap",
    2222  ///so it is easy to change it to any kind of length.
    2323  ///
    24   ///The type of the length is determined by the \c ValueType of the length map.
     24  ///The type of the length is determined by the
     25  ///\ref skeleton::ReadMap::ValueType "ValueType" of the length map.
    2526  ///
    2627  ///It is also possible to change the underlying priority heap.
     
    3334  ///may involve in relatively time consuming process to compute the edge
    3435  ///length if it is necessary. The default map type is
    35   ///\ref GraphSkeleton::EdgeMap "Graph::EdgeMap<int>"
     36  ///\ref skeleton::StaticGraph::EdgeMap "Graph::EdgeMap<int>"
    3637  ///\param Heap The heap type used by the %Dijkstra
    3738  ///algorithm. The default
  • src/hugo/full_graph.h

    r822 r880  
    2828  ///It is completely static, so you can neither add nor delete either
    2929  ///edges or nodes.
    30   ///Otherwise it conforms to the graph interface documented under
    31   ///the description of \ref GraphSkeleton.
    32   ///\sa \ref GraphSkeleton.
     30  ///Thus it conforms to
     31  ///the \ref skeleton::StaticGraph "StaticGraph" concept
     32  ///\sa skeleton::StaticGraph.
    3333  ///\todo What about loops?
    3434  ///\todo Don't we need SymEdgeMap?
  • src/hugo/list_graph.h

    r877 r880  
    3030  ///This is a simple and fast erasable graph implementation.
    3131  ///
    32   ///It conforms to the graph interface documented under
    33   ///the description of
    34   ///\ref skeleton::ErasableGraphSkeleton "ErasableGraphSkeleton".
    35   ///\sa skeleton::ErasableGraphSkeleton.
     32  ///It conforms to the
     33  ///\ref skeleton::ErasableGraph "ErasableGraph" concept.
     34  ///\sa skeleton::ErasableGraph.
    3635  class ListGraph {
    3736
     
    313312      NodeIt(Invalid i) : Node(i) { }
    314313      NodeIt(const ListGraph& _G) : Node(_G.first_node), G(&_G) { }
    315       ///\todo Undocumented conversion Node -\> NodeIt.
    316314      NodeIt(const ListGraph& _G,Node n) : Node(n), G(&_G) { }
    317315      NodeIt &operator++() {
     
    427425  ///feature by
    428426  ///storing shared values for the edge pairs. The usual
    429   ///\ref GraphSkeleton::EdgeMap "EdgeMap"
     427  ///\ref Graph::EdgeMap "EdgeMap"
    430428  ///can be used
    431429  ///as well.
     
    495493  ///\ref EdgeSet class.
    496494  ///
    497   ///It conforms to the graph interface documented under
    498   ///the description of \ref GraphSkeleton with the exception that you cannot
     495  ///It conforms to
     496  ///the \ref skeleton::ExtendableGraph "ExtendableGraph" concept
     497  ///with the exception that you cannot
    499498  ///add (or delete) edges. The usual edge iterators are exists, but they are
    500499  ///always \ref INVALID.
    501   ///\sa \ref GraphSkeleton
    502   ///\sa \ref EdgeSet
     500  ///\sa skeleton::ExtendableGraph
     501  ///\sa EdgeSet
    503502  class NodeSet {
    504503
     
    791790  ///
    792791  ///\param GG The type of the graph which shares its node set with this class.
    793   ///Its interface must conform with \ref GraphSkeleton.
     792  ///Its interface must conform to the
     793  ///\ref skeleton::StaticGraph "StaticGraph" concept.
    794794  ///
    795   ///It conforms to the graph interface documented under
    796   ///the description of \ref GraphSkeleton.
    797   ///\sa \ref GraphSkeleton.
    798   ///\sa \ref NodeSet.
     795  ///It conforms to the
     796  ///\ref skeleton::ExtendableGraph "ExtendableGraph" concept.
     797  ///\sa skeleton::ExtendableGraph.
     798  ///\sa NodeSet.
    799799  template<typename GG>
    800800  class EdgeSet {
     
    898898    ///Construates a new graph based on the nodeset of an existing one.
    899899    ///\param _G the base graph.
    900     ///\todo It looks like a copy constructor, but it isn't.
    901     EdgeSet(NodeGraphType &_G)
     900    explicit EdgeSet(NodeGraphType &_G)
    902901      : G(_G), nodes(_G), edges(),
    903902        first_free_edge(-1) {}
     
    906905    ///Makes a copy of an EdgeSet.
    907906    ///It will be based on the same graph.
    908     EdgeSet(const EdgeSet &_g)
     907    explicit EdgeSet(const EdgeSet &_g)
    909908      : G(_g.G), nodes(_g.G), edges(_g.edges),
    910909        first_free_edge(_g.first_free_edge) {}
  • src/hugo/skeletons/graph.h

    r873 r880  
    55///\ingroup skeletons
    66///\file
    7 ///\brief Declaration of GraphSkeleton.
     7///\brief Declaration of Graph.
    88
    99#include <hugo/invalid.h>
     
    3232    /// like @ref ListGraph or
    3333    /// @ref SmartGraph will just refer to this structure.
    34     class StaticGraphSkeleton
     34    class StaticGraph
    3535    {
    3636    public:
     
    3939      /// Defalult constructor.
    4040      ///
    41       StaticGraphSkeleton() { }
     41      StaticGraph() { }
    4242      ///Copy consructor.
    4343
    4444//       ///\todo It is not clear, what we expect from a copy constructor.
    4545//       ///E.g. How to assign the nodes/edges to each other? What about maps?
    46 //       StaticGraphSkeleton(const StaticGraphSkeleton& g) { }
     46//       StaticGraph(const StaticGraph& g) { }
    4747
    4848      /// The base type of node iterators,
     
    123123        /// Sets the iterator to the first node of \c g.
    124124        ///
    125         NodeIt(const StaticGraphSkeleton& g) { }
     125        NodeIt(const StaticGraph& g) { }
    126126        /// Node -> NodeIt conversion.
    127127
     
    130130        /// This feature necessitates that each time we
    131131        /// iterate the edge-set, the iteration order is the same.
    132         NodeIt(const StaticGraphSkeleton& g, const Node& n) { }
     132        NodeIt(const StaticGraph& g, const Node& n) { }
    133133        /// Next node.
    134134
     
    215215        ///@param n the node
    216216        ///@param g the graph
    217         OutEdgeIt(const StaticGraphSkeleton& g, const Node& n) { }
     217        OutEdgeIt(const StaticGraph& g, const Node& n) { }
    218218        /// Edge -> OutEdgeIt conversion
    219219
     
    221221        /// This feature necessitates that each time we
    222222        /// iterate the edge-set, the iteration order is the same.
    223         OutEdgeIt(const StaticGraphSkeleton& g, const Edge& e) { }
     223        OutEdgeIt(const StaticGraph& g, const Edge& e) { }
    224224        ///Next outgoing edge
    225225       
     
    264264        ///@param n the node
    265265        ///@param g the graph
    266         InEdgeIt(const StaticGraphSkeleton& g, const Node& n) { }
     266        InEdgeIt(const StaticGraph& g, const Node& n) { }
    267267        /// Edge -> InEdgeIt conversion
    268268
     
    270270        /// This feature necessitates that each time we
    271271        /// iterate the edge-set, the iteration order is the same.
    272         InEdgeIt(const StaticGraphSkeleton& g, const Edge& n) { }
     272        InEdgeIt(const StaticGraph& g, const Edge& n) { }
    273273        /// Next incoming edge
    274274
     
    308308        /// node
    309309        ///@param g the graph
    310         EdgeIt(const StaticGraphSkeleton& g) { }
     310        EdgeIt(const StaticGraph& g) { }
    311311        /// Edge -> EdgeIt conversion
    312312
     
    314314        /// This feature necessitates that each time we
    315315        /// iterate the edge-set, the iteration order is the same.
    316         EdgeIt(const StaticGraphSkeleton&, const Edge&) { }
     316        EdgeIt(const StaticGraph&, const Edge&) { }
    317317        ///Next edge
    318318       
     
    371371      /// .
    372372     
    373       ///\todo What is this?
     373      ///\todo Should it be in the concept?
    374374      ///
    375375      int nodeNum() const { return 0; }
    376376      /// .
    377       ///\todo What is this?
     377
     378      ///\todo Should it be in the concept?
    378379      ///
    379380      int edgeNum() const { return 0; }
     
    382383      ///Reference map of the nodes to type \c T.
    383384
     385      /// \ingroup skeletons
    384386      ///Reference map of the nodes to type \c T.
    385       /// \sa ReferenceSkeleton
     387      /// \sa Reference
    386388      /// \warning Making maps that can handle bool type (NodeMap<bool>)
    387389      /// needs some extra attention!
    388       template<class T> class NodeMap: public ReferenceMap< Node, T >
     390      template<class T> class NodeMap : public ReferenceMap< Node, T >
    389391      {
    390392      public:
    391393
    392394        /// .
    393         NodeMap(const StaticGraphSkeleton&) { }
     395        NodeMap(const StaticGraph&) { }
    394396        /// .
    395         NodeMap(const StaticGraphSkeleton&, T) { }
     397        NodeMap(const StaticGraph&, T) { }
    396398
    397399        ///Copy constructor
     
    404406      ///Reference map of the edges to type \c T.
    405407
     408      /// \ingroup skeletons
    406409      ///Reference map of the edges to type \c T.
    407       /// \sa ReferenceSkeleton
     410      /// \sa Reference
    408411      /// \warning Making maps that can handle bool type (EdgeMap<bool>)
    409412      /// needs some extra attention!
     
    414417
    415418        /// .
    416         EdgeMap(const StaticGraphSkeleton&) { }
     419        EdgeMap(const StaticGraph&) { }
    417420        /// .
    418         EdgeMap(const StaticGraphSkeleton&, T) { }
     421        EdgeMap(const StaticGraph&, T) { }
    419422   
    420423        ///Copy constructor
     
    430433    /// An empty non-static graph class.
    431434
    432     /// This class provides everything that \c StaticGraphSkeleton
     435    /// This class provides everything that \ref StaticGraph
    433436    /// with additional functionality which enables to build a
    434437    /// graph from scratch.
    435     class ExtendableGraphSkeleton : public StaticGraphSkeleton
     438    class ExtendableGraph : public StaticGraph
    436439    {
    437440    public:
     
    440443      /// Defalult constructor.
    441444      ///
    442       ExtendableGraphSkeleton() { }
     445      ExtendableGraph() { }
    443446      ///Add a new node to the graph.
    444447
     
    448451      ///Add a new edge to the graph.
    449452
    450       ///Add a new edge to the graph with tail node \c tail
    451       ///and head node \c head.
     453      ///Add a new edge to the graph with tail node \c t
     454      ///and head node \c h.
    452455      ///\return the new edge.
    453       Edge addEdge(Node, Node) { return INVALID; }
     456      Edge addEdge(Node h, Node t) { return INVALID; }
    454457   
    455458      /// Resets the graph.
     
    457460      /// This function deletes all edges and nodes of the graph.
    458461      /// It also frees the memory allocated to store them.
    459       /// \todo It might belong to \c ErasableGraphSkeleton.
     462      /// \todo It might belong to \ref ErasableGraph.
    460463      void clear() { }
    461464    };
     
    463466    /// An empty erasable graph class.
    464467 
    465     /// This class is an extension of \c GraphSkeleton. It also makes it
     468    /// This class is an extension of \ref ExtendableGraph. It also makes it
    466469    /// possible to erase edges or nodes.
    467     class ErasableGraphSkeleton : public ExtendableGraphSkeleton
     470    class ErasableGraph : public ExtendableGraph
    468471    {
    469472    public:
     
    472475      /// Defalult constructor.
    473476      ///
    474       ErasableGraphSkeleton() { }
     477      ErasableGraph() { }
    475478      /// Deletes a node.
    476479
  • src/hugo/smart_graph.h

    r822 r880  
    3131  ///It is also quite memory efficient, but at the price
    3232  ///that <b> it does not support node and edge deletion</b>.
    33   ///It conforms to the graph interface documented under
    34   ///the description of \ref GraphSkeleton.
    35   ///\sa \ref GraphSkeleton.
     33  ///It conforms to
     34  ///the \ref skeleton::ExtendableGraph "ExtendableGraph" concept.
     35  ///\sa skeleton::ExtendableGraph.
    3636  ///
    3737  ///\todo Some member functions could be \c static.
     
    303303  ///feature by
    304304  ///storing shared values for the edge pairs. The usual
    305   ///\ref GraphSkeleton::EdgeMap "EdgeMap"
     305  ///\ref Graph::EdgeMap "EdgeMap"
    306306  ///can be used
    307307  ///as well.
     
    311311  ///\warning It shares the similarity with \ref SmartGraph that
    312312  ///it is not possible to delete edges or nodes from the graph.
    313   //\sa \ref SmartGraph.
     313  //\sa SmartGraph.
    314314
    315315  class SymSmartGraph : public SmartGraph
Note: See TracChangeset for help on using the changeset viewer.