lemon/adaptors.h
changeset 787 c2230649a493
parent 656 cb38ccedd2c1
child 877 141f9c0db4a3
equal deleted inserted replaced
19:b4a60e5f5210 20:fce95d786b7d
   358   ///
   358   ///
   359   /// The adapted digraph can also be modified through this adaptor
   359   /// The adapted digraph can also be modified through this adaptor
   360   /// by adding or removing nodes or arcs, unless the \c GR template
   360   /// by adding or removing nodes or arcs, unless the \c GR template
   361   /// parameter is set to be \c const.
   361   /// parameter is set to be \c const.
   362   ///
   362   ///
       
   363   /// This class provides item counting in the same time as the adapted
       
   364   /// digraph structure.
       
   365   ///
   363   /// \tparam DGR The type of the adapted digraph.
   366   /// \tparam DGR The type of the adapted digraph.
   364   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
   367   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
   365   /// It can also be specified to be \c const.
   368   /// It can also be specified to be \c const.
   366   ///
   369   ///
   367   /// \note The \c Node and \c Arc types of this adaptor and the adapted
   370   /// \note The \c Node and \c Arc types of this adaptor and the adapted
   716   /// This adaptor conforms to the \ref concepts::Digraph "Digraph" concept.
   719   /// This adaptor conforms to the \ref concepts::Digraph "Digraph" concept.
   717   ///
   720   ///
   718   /// The adapted digraph can also be modified through this adaptor
   721   /// The adapted digraph can also be modified through this adaptor
   719   /// by adding or removing nodes or arcs, unless the \c GR template
   722   /// by adding or removing nodes or arcs, unless the \c GR template
   720   /// parameter is set to be \c const.
   723   /// parameter is set to be \c const.
       
   724   ///
       
   725   /// This class provides only linear time counting for nodes and arcs.
   721   ///
   726   ///
   722   /// \tparam DGR The type of the adapted digraph.
   727   /// \tparam DGR The type of the adapted digraph.
   723   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
   728   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
   724   /// It can also be specified to be \c const.
   729   /// It can also be specified to be \c const.
   725   /// \tparam NF The type of the node filter map.
   730   /// \tparam NF The type of the node filter map.
  1312   ///
  1317   ///
  1313   /// The adapted graph can also be modified through this adaptor
  1318   /// The adapted graph can also be modified through this adaptor
  1314   /// by adding or removing nodes or edges, unless the \c GR template
  1319   /// by adding or removing nodes or edges, unless the \c GR template
  1315   /// parameter is set to be \c const.
  1320   /// parameter is set to be \c const.
  1316   ///
  1321   ///
       
  1322   /// This class provides only linear time counting for nodes, edges and arcs.
       
  1323   ///
  1317   /// \tparam GR The type of the adapted graph.
  1324   /// \tparam GR The type of the adapted graph.
  1318   /// It must conform to the \ref concepts::Graph "Graph" concept.
  1325   /// It must conform to the \ref concepts::Graph "Graph" concept.
  1319   /// It can also be specified to be \c const.
  1326   /// It can also be specified to be \c const.
  1320   /// \tparam NF The type of the node filter map.
  1327   /// \tparam NF The type of the node filter map.
  1321   /// It must be a \c bool (or convertible) node map of the
  1328   /// It must be a \c bool (or convertible) node map of the
  1468   /// depending on the \c GR template parameter.
  1475   /// depending on the \c GR template parameter.
  1469   ///
  1476   ///
  1470   /// The adapted (di)graph can also be modified through this adaptor
  1477   /// The adapted (di)graph can also be modified through this adaptor
  1471   /// by adding or removing nodes or arcs/edges, unless the \c GR template
  1478   /// by adding or removing nodes or arcs/edges, unless the \c GR template
  1472   /// parameter is set to be \c const.
  1479   /// parameter is set to be \c const.
       
  1480   ///
       
  1481   /// This class provides only linear time item counting.
  1473   ///
  1482   ///
  1474   /// \tparam GR The type of the adapted digraph or graph.
  1483   /// \tparam GR The type of the adapted digraph or graph.
  1475   /// It must conform to the \ref concepts::Digraph "Digraph" concept
  1484   /// It must conform to the \ref concepts::Digraph "Digraph" concept
  1476   /// or the \ref concepts::Graph "Graph" concept.
  1485   /// or the \ref concepts::Graph "Graph" concept.
  1477   /// It can also be specified to be \c const.
  1486   /// It can also be specified to be \c const.
  1617   ///
  1626   ///
  1618   /// The adapted digraph can also be modified through this adaptor
  1627   /// The adapted digraph can also be modified through this adaptor
  1619   /// by adding or removing nodes or arcs, unless the \c GR template
  1628   /// by adding or removing nodes or arcs, unless the \c GR template
  1620   /// parameter is set to be \c const.
  1629   /// parameter is set to be \c const.
  1621   ///
  1630   ///
       
  1631   /// This class provides only linear time counting for nodes and arcs.
       
  1632   ///
  1622   /// \tparam DGR The type of the adapted digraph.
  1633   /// \tparam DGR The type of the adapted digraph.
  1623   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  1634   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  1624   /// It can also be specified to be \c const.
  1635   /// It can also be specified to be \c const.
  1625   /// \tparam AF The type of the arc filter map.
  1636   /// \tparam AF The type of the arc filter map.
  1626   /// It must be a \c bool (or convertible) arc map of the
  1637   /// It must be a \c bool (or convertible) arc map of the
  1726   /// "Graph" concept.
  1737   /// "Graph" concept.
  1727   ///
  1738   ///
  1728   /// The adapted graph can also be modified through this adaptor
  1739   /// The adapted graph can also be modified through this adaptor
  1729   /// by adding or removing nodes or edges, unless the \c GR template
  1740   /// by adding or removing nodes or edges, unless the \c GR template
  1730   /// parameter is set to be \c const.
  1741   /// parameter is set to be \c const.
       
  1742   ///
       
  1743   /// This class provides only linear time counting for nodes, edges and arcs.
  1731   ///
  1744   ///
  1732   /// \tparam GR The type of the adapted graph.
  1745   /// \tparam GR The type of the adapted graph.
  1733   /// It must conform to the \ref concepts::Graph "Graph" concept.
  1746   /// It must conform to the \ref concepts::Graph "Graph" concept.
  1734   /// It can also be specified to be \c const.
  1747   /// It can also be specified to be \c const.
  1735   /// \tparam EF The type of the edge filter map.
  1748   /// \tparam EF The type of the edge filter map.
  2230   ///
  2243   ///
  2231   /// The adapted digraph can also be modified through this adaptor
  2244   /// The adapted digraph can also be modified through this adaptor
  2232   /// by adding or removing nodes or edges, unless the \c GR template
  2245   /// by adding or removing nodes or edges, unless the \c GR template
  2233   /// parameter is set to be \c const.
  2246   /// parameter is set to be \c const.
  2234   ///
  2247   ///
       
  2248   /// This class provides item counting in the same time as the adapted
       
  2249   /// digraph structure.
       
  2250   ///
  2235   /// \tparam DGR The type of the adapted digraph.
  2251   /// \tparam DGR The type of the adapted digraph.
  2236   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  2252   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  2237   /// It can also be specified to be \c const.
  2253   /// It can also be specified to be \c const.
  2238   ///
  2254   ///
  2239   /// \note The \c Node type of this adaptor and the adapted digraph are
  2255   /// \note The \c Node type of this adaptor and the adapted digraph are
  2532   /// This class conforms to the \ref concepts::Digraph "Digraph" concept.
  2548   /// This class conforms to the \ref concepts::Digraph "Digraph" concept.
  2533   ///
  2549   ///
  2534   /// The adapted graph can also be modified through this adaptor
  2550   /// The adapted graph can also be modified through this adaptor
  2535   /// by adding or removing nodes or arcs, unless the \c GR template
  2551   /// by adding or removing nodes or arcs, unless the \c GR template
  2536   /// parameter is set to be \c const.
  2552   /// parameter is set to be \c const.
       
  2553   ///
       
  2554   /// This class provides item counting in the same time as the adapted
       
  2555   /// graph structure.
  2537   ///
  2556   ///
  2538   /// \tparam GR The type of the adapted graph.
  2557   /// \tparam GR The type of the adapted graph.
  2539   /// It must conform to the \ref concepts::Graph "Graph" concept.
  2558   /// It must conform to the \ref concepts::Graph "Graph" concept.
  2540   /// It can also be specified to be \c const.
  2559   /// It can also be specified to be \c const.
  2541   /// \tparam DM The type of the direction map.
  2560   /// \tparam DM The type of the direction map.
  2675   /// When the union \f$ A_{forward}\cup A_{backward} \f$ is taken,
  2694   /// When the union \f$ A_{forward}\cup A_{backward} \f$ is taken,
  2676   /// multiplicities are counted, i.e. the adaptor has exactly
  2695   /// multiplicities are counted, i.e. the adaptor has exactly
  2677   /// \f$ |A_{forward}| + |A_{backward}|\f$ arcs (it may have parallel
  2696   /// \f$ |A_{forward}| + |A_{backward}|\f$ arcs (it may have parallel
  2678   /// arcs).
  2697   /// arcs).
  2679   /// This class conforms to the \ref concepts::Digraph "Digraph" concept.
  2698   /// This class conforms to the \ref concepts::Digraph "Digraph" concept.
       
  2699   ///
       
  2700   /// This class provides only linear time counting for nodes and arcs.
  2680   ///
  2701   ///
  2681   /// \tparam DGR The type of the adapted digraph.
  2702   /// \tparam DGR The type of the adapted digraph.
  2682   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  2703   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  2683   /// It is implicitly \c const.
  2704   /// It is implicitly \c const.
  2684   /// \tparam CM The type of the capacity map.
  2705   /// \tparam CM The type of the capacity map.
  3323   /// capacities directly.
  3344   /// capacities directly.
  3324   /// In this case you can use \c SplitNodes adaptor, and set the node
  3345   /// In this case you can use \c SplitNodes adaptor, and set the node
  3325   /// costs/capacities of the original digraph to the \e bind \e arcs
  3346   /// costs/capacities of the original digraph to the \e bind \e arcs
  3326   /// in the adaptor.
  3347   /// in the adaptor.
  3327   ///
  3348   ///
       
  3349   /// This class provides item counting in the same time as the adapted
       
  3350   /// digraph structure.
       
  3351   ///
  3328   /// \tparam DGR The type of the adapted digraph.
  3352   /// \tparam DGR The type of the adapted digraph.
  3329   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  3353   /// It must conform to the \ref concepts::Digraph "Digraph" concept.
  3330   /// It is implicitly \c const.
  3354   /// It is implicitly \c const.
  3331   ///
  3355   ///
  3332   /// \note The \c Node type of this adaptor is converible to the \c Node
  3356   /// \note The \c Node type of this adaptor is converible to the \c Node