src/lemon/list_graph.h
changeset 980 0f1044b7a3af
parent 975 12b9993b217c
child 986 e997802b855c
equal deleted inserted replaced
6:63a29d33d0c8 7:01be4b7b3272
    23 
    23 
    24 #include <lemon/erasable_graph_extender.h>
    24 #include <lemon/erasable_graph_extender.h>
    25 #include <lemon/clearable_graph_extender.h>
    25 #include <lemon/clearable_graph_extender.h>
    26 #include <lemon/extendable_graph_extender.h>
    26 #include <lemon/extendable_graph_extender.h>
    27 
    27 
    28 #include <lemon/idmappable_graph_extender.h>
       
    29 
       
    30 #include <lemon/iterable_graph_extender.h>
    28 #include <lemon/iterable_graph_extender.h>
    31 
    29 
    32 #include <lemon/alteration_observer_registry.h>
    30 #include <lemon/alteration_observer_registry.h>
    33 
    31 
    34 #include <lemon/default_map.h>
    32 #include <lemon/default_map.h>
   103     
   101     
   104     /// Maximum node ID.
   102     /// Maximum node ID.
   105     
   103     
   106     /// Maximum node ID.
   104     /// Maximum node ID.
   107     ///\sa id(Node)
   105     ///\sa id(Node)
   108     int maxNodeId() const { return nodes.size()-1; } 
   106     int maxId(Node = INVALID) const { return nodes.size()-1; } 
   109 
   107 
   110     /// Maximum edge ID.
   108     /// Maximum edge ID.
   111     
   109     
   112     /// Maximum edge ID.
   110     /// Maximum edge ID.
   113     ///\sa id(Edge)
   111     ///\sa id(Edge)
   114     int maxEdgeId() const { return edges.size()-1; }
   112     int maxId(Edge = INVALID) const { return edges.size()-1; }
   115 
   113 
   116     Node tail(Edge e) const { return edges[e.id].tail; }
   114     Node tail(Edge e) const { return edges[e.id].tail; }
   117     Node head(Edge e) const { return edges[e.id].head; }
   115     Node head(Edge e) const { return edges[e.id].head; }
   118 
   116 
   119 
   117 
   301 
   299 
   302   };
   300   };
   303 
   301 
   304   typedef AlterableGraphExtender<ListGraphBase> AlterableListGraphBase;
   302   typedef AlterableGraphExtender<ListGraphBase> AlterableListGraphBase;
   305   typedef IterableGraphExtender<AlterableListGraphBase> IterableListGraphBase;
   303   typedef IterableGraphExtender<AlterableListGraphBase> IterableListGraphBase;
   306   typedef IdMappableGraphExtender<IterableListGraphBase> IdMappableListGraphBase;
   304   typedef DefaultMappableGraphExtender<IterableListGraphBase> MappableListGraphBase;
   307   typedef DefaultMappableGraphExtender<IdMappableListGraphBase> MappableListGraphBase;
       
   308   typedef ExtendableGraphExtender<MappableListGraphBase> ExtendableListGraphBase;
   305   typedef ExtendableGraphExtender<MappableListGraphBase> ExtendableListGraphBase;
   309   typedef ClearableGraphExtender<ExtendableListGraphBase> ClearableListGraphBase;
   306   typedef ClearableGraphExtender<ExtendableListGraphBase> ClearableListGraphBase;
   310   typedef ErasableGraphExtender<ClearableListGraphBase> ErasableListGraphBase;
   307   typedef ErasableGraphExtender<ClearableListGraphBase> ErasableListGraphBase;
   311 
   308 
   312 /// \addtogroup graphs
   309 /// \addtogroup graphs