src/hugo/list_graph.h
changeset 798 6d1abeb62dd3
parent 782 df2e45e09652
child 813 65144c52969c
equal deleted inserted replaced
11:ba35b0eb55f1 12:024471f02612
    11 #include <climits>
    11 #include <climits>
    12 
    12 
    13 #include <hugo/invalid.h>
    13 #include <hugo/invalid.h>
    14 
    14 
    15 #include <hugo/map_registry.h>
    15 #include <hugo/map_registry.h>
    16 #include <hugo/array_map_factory.h>
    16 #include <hugo/default_map_factory.h>
    17 
    17 
    18 #include <hugo/sym_map_factory.h>
    18 #include <hugo/sym_map_factory.h>
    19 
    19 
    20 #include <hugo/map_defines.h>
    20 #include <hugo/map_defines.h>
    21 
    21 
    78     class EdgeIt;
    78     class EdgeIt;
    79     class OutEdgeIt;
    79     class OutEdgeIt;
    80     class InEdgeIt;
    80     class InEdgeIt;
    81 
    81 
    82     CREATE_MAP_REGISTRIES;
    82     CREATE_MAP_REGISTRIES;
    83     CREATE_MAPS(ArrayMapFactory);
    83     CREATE_MAPS(DefaultMapFactory);
    84 
    84 
    85   public:
    85   public:
    86 
    86 
    87     ListGraph() 
    87     ListGraph() 
    88       : nodes(), first_node(-1),
    88       : nodes(), first_node(-1),
   423 
   423 
   424     KEEP_NODE_MAP(ListGraph);
   424     KEEP_NODE_MAP(ListGraph);
   425     KEEP_EDGE_MAP(ListGraph);
   425     KEEP_EDGE_MAP(ListGraph);
   426 
   426 
   427     CREATE_SYM_EDGE_MAP_REGISTRY;
   427     CREATE_SYM_EDGE_MAP_REGISTRY;
   428     CREATE_SYM_EDGE_MAP_FACTORY(ArrayMapFactory);
   428     CREATE_SYM_EDGE_MAP_FACTORY(DefaultMapFactory);
   429     IMPORT_SYM_EDGE_MAP(SymEdgeMapFactory);
   429     IMPORT_SYM_EDGE_MAP(SymEdgeMapFactory);
   430 
   430 
   431     SymListGraph() : ListGraph() { }
   431     SymListGraph() : ListGraph() { }
   432     SymListGraph(const ListGraph &_g) : ListGraph(_g) { }
   432     SymListGraph(const ListGraph &_g) : ListGraph(_g) { }
   433     ///Adds a pair of oppositely directed edges to the graph.
   433     ///Adds a pair of oppositely directed edges to the graph.
   506     class EdgeIt;
   506     class EdgeIt;
   507     class OutEdgeIt;
   507     class OutEdgeIt;
   508     class InEdgeIt;
   508     class InEdgeIt;
   509     
   509     
   510     CREATE_MAP_REGISTRIES;
   510     CREATE_MAP_REGISTRIES;
   511     CREATE_MAPS(ArrayMapFactory);
   511     CREATE_MAPS(DefaultMapFactory);
   512     
   512     
   513   public:
   513   public:
   514 
   514 
   515     ///Default constructor
   515     ///Default constructor
   516     NodeSet() 
   516     NodeSet() 
   803     class OutEdgeIt;
   803     class OutEdgeIt;
   804     class InEdgeIt;
   804     class InEdgeIt;
   805 
   805 
   806 
   806 
   807     CREATE_EDGE_MAP_REGISTRY;
   807     CREATE_EDGE_MAP_REGISTRY;
   808     CREATE_EDGE_MAP_FACTORY(ArrayMapFactory);
   808     CREATE_EDGE_MAP_FACTORY(DefaultMapFactory);
   809     IMPORT_EDGE_MAP(EdgeMapFactory);
   809     IMPORT_EDGE_MAP(EdgeMapFactory);
   810     
   810     
   811     
   811     
   812   public:
   812   public:
   813 
   813