src/hugo/smart_graph.h
changeset 897 ef09eee53b09
parent 891 74589d20dbc3
child 904 b40afcf42a4d
equal deleted inserted replaced
14:003ba5967644 15:0eda45a93884
    10 #include <vector>
    10 #include <vector>
    11 #include <climits>
    11 #include <climits>
    12 
    12 
    13 #include <hugo/invalid.h>
    13 #include <hugo/invalid.h>
    14 
    14 
    15 #include <hugo/default_map.h>
    15 #include <hugo/array_map.h>
    16 #include <hugo/sym_map.h>
    16 #include <hugo/sym_map.h>
    17 
    17 
    18 #include <hugo/map_registry.h>
    18 #include <hugo/map_registry.h>
    19 
    19 
    20 #include <hugo/map_defines.h>
    20 #include <hugo/map_defines.h>
    74     class InEdgeIt;
    74     class InEdgeIt;
    75     
    75     
    76     /// Creating map registries.
    76     /// Creating map registries.
    77     CREATE_MAP_REGISTRIES;
    77     CREATE_MAP_REGISTRIES;
    78     /// Creating node and edge maps.
    78     /// Creating node and edge maps.
    79     CREATE_MAPS(DefaultMap);
    79     CREATE_MAPS(ArrayMap);
    80     
    80     
    81   public:
    81   public:
    82 
    82 
    83     SmartGraph() : nodes(), edges() { }
    83     SmartGraph() : nodes(), edges() { }
    84     SmartGraph(const SmartGraph &_g) : nodes(_g.nodes), edges(_g.edges) { }
    84     SmartGraph(const SmartGraph &_g) : nodes(_g.nodes), edges(_g.edges) { }
   318     typedef SymSmartGraph Graph;
   318     typedef SymSmartGraph Graph;
   319 
   319 
   320     /// Creating symmetric map registry.
   320     /// Creating symmetric map registry.
   321     CREATE_SYM_EDGE_MAP_REGISTRY;
   321     CREATE_SYM_EDGE_MAP_REGISTRY;
   322     /// Creating symmetric edge map.
   322     /// Creating symmetric edge map.
   323     CREATE_SYM_EDGE_MAP(DefaultMap);
   323     CREATE_SYM_EDGE_MAP(ArrayMap);
   324 
   324 
   325 
   325 
   326     SymSmartGraph() : SmartGraph() { }
   326     SymSmartGraph() : SmartGraph() { }
   327     SymSmartGraph(const SmartGraph &_g) : SmartGraph(_g) { }
   327     SymSmartGraph(const SmartGraph &_g) : SmartGraph(_g) { }
   328     ///Adds a pair of oppositely directed edges to the graph.
   328     ///Adds a pair of oppositely directed edges to the graph.