COIN-OR::LEMON - Graph Library

Changeset 873:f3a30fda2e49 in lemon-0.x


Ignore:
Timestamp:
09/16/04 21:23:41 (20 years ago)
Author:
Alpar Juttner
Branch:
default
Phase:
public
Convert:
svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@1175
Message:
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • doc/graphs.dox

    r808 r873  
    99
    1010
    11 Each graph should meet the \ref ConstGraph concept. This concept does
     11Each graph should meet the
     12\ref hugo::skeleton::StaticGraphSkeleton "StaticGraph" concept.
     13This concept does not
    1214makes it possible to change the graph (i.e. it is not possible to add
    1315or delete edges or nodes). Most of the graph algorithms will run on
    1416these graphs.
    1517
    16 The graphs meeting the \ref ExtendableGraph concept allow node and
     18The graphs meeting the
     19\ref hugo::skeleton::ExtendableGraphSkeleton "ExtendableGraph"
     20concept allow node and
    1721edge addition. You can also "clear" (i.e. erase all edges and nodes)
    1822such a graph.
    1923
    20 In case of graphs meeting the full feature \ref ErasableGraph concept
     24In case of graphs meeting the full feature
     25\ref hugo::skeleton::ErasableGraphSkeleton "ErasableGraph"
     26concept
    2127you can also erase individual edges and node in arbitrary order.
    2228
    2329The implemented graph structures are the following.
    2430\li \ref hugo::ListGraph "ListGraph" is the most versatile graph class. It meets
    25 the ErasableGraph concept and it also have some convenience features.
     31the hugo::skeleton::ErasableGraphSkeleton "ErasableGraph" concept
     32and it also have some convenience features.
    2633\li \ref hugo::SmartGraph "SmartGraph" is a more memory
    2734efficient version of \ref hugo::ListGraph "ListGraph". The
    28 price of it is that it only meets the \ref ExtendableGraph concept,
     35price of it is that it only meets the
     36\ref hugo::skeleton::ExtendableGraphSkeleton "ExtendableGraph" concept,
    2937so you cannot delete individual edges or nodes.
    3038\li \ref hugo::SymListGraph "SymListGraph" and
     
    4755can be used as a base class of \ref hugo::EdgeSet "EdgeSet".
    4856\li \ref hugo::EdgeSet "EdgeSet" can be used to create a new graph on
    49 the edge set of another graph. The base graph can be an arbitrary graph and it
     57the node set of another graph. The base graph can be an arbitrary graph and it
    5058is possible to attach several \ref hugo::EdgeSet "EdgeSet"'s to a base graph.
    5159
     
    5361\todo Some cross-refs are wrong.
    5462
    55 \bug This file must be updated accordig to the new stile iterators.
     63\bug This file must be updated accordig to the new style iterators.
    5664
    5765The graph structures itself can not store data attached
     
    5967\ref maps "map classes"
    6068to dynamically attach data the to graph components.
    61 
    62 
    63 
    6469
    6570The following program demonstrates the basic features of HugoLib's graph
     
    191196\endcode
    192197
    193 In generic graph optimization programming graphs are not containers rather
     198As we mentioned above, graphs are not containers rather
    194199incidence structures which are iterable in many ways. HugoLib introduces
    195200concepts that allow us to attach containers to graphs. These containers are
  • src/hugo/skeletons/graph.h

    r826 r873  
    433433    /// with additional functionality which enables to build a
    434434    /// graph from scratch.
    435     class GraphSkeleton : public StaticGraphSkeleton
     435    class ExtendableGraphSkeleton : public StaticGraphSkeleton
    436436    {
    437437    public:
     
    440440      /// Defalult constructor.
    441441      ///
    442       GraphSkeleton() { }
     442      ExtendableGraphSkeleton() { }
    443443      ///Add a new node to the graph.
    444444
     
    465465    /// This class is an extension of \c GraphSkeleton. It also makes it
    466466    /// possible to erase edges or nodes.
    467     class ErasableGraphSkeleton : public GraphSkeleton
     467    class ErasableGraphSkeleton : public ExtendableGraphSkeleton
    468468    {
    469469    public:
  • src/test/graph_test.cc

    r826 r873  
    5353
    5454//Compile GraphSkeleton
    55 template void checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
     55template void hugo::checkCompileStaticGraph<skeleton::StaticGraphSkeleton>
    5656(skeleton::StaticGraphSkeleton &);
    5757
    58 template void checkCompileGraph<skeleton::GraphSkeleton>
    59 (skeleton::GraphSkeleton &);
     58template void hugo::checkCompileGraph<skeleton::ExtendableGraphSkeleton>
     59(skeleton::ExtendableGraphSkeleton &);
    6060
    61 template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
     61template void hugo::checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
    6262(skeleton::ErasableGraphSkeleton &);
    6363
    6464//Compile SmartGraph
    65 template void checkCompileGraph<SmartGraph>(SmartGraph &);
    66 template void checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
     65template void hugo::checkCompileGraph<SmartGraph>(SmartGraph &);
     66template void hugo::checkCompileGraphFindEdge<SmartGraph>(SmartGraph &);
    6767
    6868//Compile SymSmartGraph
    69 template void checkCompileGraph<SymSmartGraph>(SymSmartGraph &);
    70 template void checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
     69template void hugo::checkCompileGraph<SymSmartGraph>(SymSmartGraph &);
     70template void hugo::checkCompileGraphFindEdge<SymSmartGraph>(SymSmartGraph &);
    7171
    7272//Compile ListGraph
    73 template void checkCompileGraph<ListGraph>(ListGraph &);
    74 template void checkCompileErasableGraph<ListGraph>(ListGraph &);
    75 template void checkCompileGraphFindEdge<ListGraph>(ListGraph &);
     73template void hugo::checkCompileGraph<ListGraph>(ListGraph &);
     74template void hugo::checkCompileErasableGraph<ListGraph>(ListGraph &);
     75template void hugo::checkCompileGraphFindEdge<ListGraph>(ListGraph &);
    7676
    7777
    7878//Compile SymListGraph
    79 template void checkCompileGraph<SymListGraph>(SymListGraph &);
    80 template void checkCompileErasableGraph<SymListGraph>(SymListGraph &);
    81 template void checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
     79template void hugo::checkCompileGraph<SymListGraph>(SymListGraph &);
     80template void hugo::checkCompileErasableGraph<SymListGraph>(SymListGraph &);
     81template void hugo::checkCompileGraphFindEdge<SymListGraph>(SymListGraph &);
    8282
    8383//Compile FullGraph
    84 template void checkCompileStaticGraph<FullGraph>(FullGraph &);
    85 template void checkCompileGraphFindEdge<FullGraph>(FullGraph &);
     84template void hugo::checkCompileStaticGraph<FullGraph>(FullGraph &);
     85template void hugo::checkCompileGraphFindEdge<FullGraph>(FullGraph &);
    8686
    8787//Compile EdgeSet <ListGraph>
    88 template void checkCompileGraph<EdgeSet <ListGraph> >(EdgeSet <ListGraph> &);
    89 template void checkCompileGraphEraseEdge<EdgeSet <ListGraph> >
     88template void hugo::checkCompileGraph<EdgeSet <ListGraph> >
    9089(EdgeSet <ListGraph> &);
    91 template void checkCompileGraphFindEdge<EdgeSet <ListGraph> >
     90template void hugo::checkCompileGraphEraseEdge<EdgeSet <ListGraph> >
     91(EdgeSet <ListGraph> &);
     92template void hugo::checkCompileGraphFindEdge<EdgeSet <ListGraph> >
    9293(EdgeSet <ListGraph> &);
    9394
    9495//Compile EdgeSet <NodeSet>
    95 template void checkCompileGraph<EdgeSet <NodeSet> >(EdgeSet <NodeSet> &);
    96 template void checkCompileGraphEraseEdge<EdgeSet <NodeSet> >
     96template void hugo::checkCompileGraph<EdgeSet <NodeSet> >(EdgeSet <NodeSet> &);
     97template void hugo::checkCompileGraphEraseEdge<EdgeSet <NodeSet> >
    9798(EdgeSet <NodeSet> &);
    98 template void checkCompileGraphFindEdge<EdgeSet <NodeSet> >
     99template void hugo::checkCompileGraphFindEdge<EdgeSet <NodeSet> >
    99100(EdgeSet <NodeSet> &);
    100101
  • src/work/marci/graph_wrapper_test.cc

    r870 r873  
    5757// (skeleton::StaticGraphSkeleton &);
    5858
    59 // template void checkCompileGraph<skeleton::GraphSkeleton>
    60 // (skeleton::GraphSkeleton &);
     59// template void checkCompileGraph<skeleton::ExtendableGraphSkeleton>
     60// (skeleton::ExtendableGraphSkeleton &);
    6161
    6262// template void checkCompileErasableGraph<skeleton::ErasableGraphSkeleton>
Note: See TracChangeset for help on using the changeset viewer.