1.1 --- a/lemon/core.h Thu Dec 01 09:05:47 2011 +0100
1.2 +++ b/lemon/core.h Wed Jan 11 22:21:07 2012 +0100
1.3 @@ -150,10 +150,11 @@
1.4
1.5 ///Create convenience typedefs for the bipartite graph types and iterators
1.6
1.7 - ///This \c \#define creates the same convenient type definitions as defined
1.8 - ///by \ref GRAPH_TYPEDEFS(BpGraph) and ten more, namely it creates
1.9 - ///\c RedNode, \c RedIt, \c BoolRedMap, \c IntRedMap, \c DoubleRedMap,
1.10 - ///\c BlueNode, \c BlueIt, \c BoolBlueMap, \c IntBlueMap, \c DoubleBlueMap.
1.11 + ///This \c \#define creates the same convenient type definitions as
1.12 + ///defined by \ref GRAPH_TYPEDEFS(BpGraph) and ten more, namely it
1.13 + ///creates \c RedNode, \c RedNodeIt, \c BoolRedNodeMap,
1.14 + ///\c IntRedNodeMap, \c DoubleRedNodeMap, \c BlueNode, \c BlueNodeIt,
1.15 + ///\c BoolBlueNodeMap, \c IntBlueNodeMap, \c DoubleBlueNodeMap.
1.16 ///
1.17 ///\note If the graph type is a dependent type, ie. the graph type depend
1.18 ///on a template parameter, then use \c TEMPLATE_BPGRAPH_TYPEDEFS()
1.19 @@ -161,15 +162,15 @@
1.20 #define BPGRAPH_TYPEDEFS(BpGraph) \
1.21 GRAPH_TYPEDEFS(BpGraph); \
1.22 typedef BpGraph::RedNode RedNode; \
1.23 - typedef BpGraph::RedIt RedIt; \
1.24 - typedef BpGraph::RedMap<bool> BoolRedMap; \
1.25 - typedef BpGraph::RedMap<int> IntRedMap; \
1.26 - typedef BpGraph::RedMap<double> DoubleRedMap; \
1.27 + typedef BpGraph::RedNodeIt RedNodeIt; \
1.28 + typedef BpGraph::RedNodeMap<bool> BoolRedNodeMap; \
1.29 + typedef BpGraph::RedNodeMap<int> IntRedNodeMap; \
1.30 + typedef BpGraph::RedNodeMap<double> DoubleRedNodeMap; \
1.31 typedef BpGraph::BlueNode BlueNode; \
1.32 - typedef BpGraph::BlueIt BlueIt; \
1.33 - typedef BpGraph::BlueMap<bool> BoolBlueMap; \
1.34 - typedef BpGraph::BlueMap<int> IntBlueMap; \
1.35 - typedef BpGraph::BlueMap<double> DoubleBlueMap
1.36 + typedef BpGraph::BlueNodeIt BlueNodeIt; \
1.37 + typedef BpGraph::BlueNodeMap<bool> BoolBlueNodeMap; \
1.38 + typedef BpGraph::BlueNodeMap<int> IntBlueNodeMap; \
1.39 + typedef BpGraph::BlueNodeMap<double> DoubleBlueNodeMap
1.40
1.41 ///Create convenience typedefs for the bipartite graph types and iterators
1.42
1.43 @@ -177,18 +178,18 @@
1.44 ///
1.45 ///\note Use this macro, if the graph type is a dependent type,
1.46 ///ie. the graph type depend on a template parameter.
1.47 -#define TEMPLATE_BPGRAPH_TYPEDEFS(BpGraph) \
1.48 - TEMPLATE_GRAPH_TYPEDEFS(BpGraph); \
1.49 - typedef typename BpGraph::RedNode RedNode; \
1.50 - typedef typename BpGraph::RedIt RedIt; \
1.51 - typedef typename BpGraph::template RedMap<bool> BoolRedMap; \
1.52 - typedef typename BpGraph::template RedMap<int> IntRedMap; \
1.53 - typedef typename BpGraph::template RedMap<double> DoubleRedMap; \
1.54 - typedef typename BpGraph::BlueNode BlueNode; \
1.55 - typedef typename BpGraph::BlueIt BlueIt; \
1.56 - typedef typename BpGraph::template BlueMap<bool> BoolBlueMap; \
1.57 - typedef typename BpGraph::template BlueMap<int> IntBlueMap; \
1.58 - typedef typename BpGraph::template BlueMap<double> DoubleBlueMap
1.59 +#define TEMPLATE_BPGRAPH_TYPEDEFS(BpGraph) \
1.60 + TEMPLATE_GRAPH_TYPEDEFS(BpGraph); \
1.61 + typedef typename BpGraph::RedNode RedNode; \
1.62 + typedef typename BpGraph::RedNodeIt RedNodeIt; \
1.63 + typedef typename BpGraph::template RedNodeMap<bool> BoolRedNodeMap; \
1.64 + typedef typename BpGraph::template RedNodeMap<int> IntRedNodeMap; \
1.65 + typedef typename BpGraph::template RedNodeMap<double> DoubleRedNodeMap; \
1.66 + typedef typename BpGraph::BlueNode BlueNode; \
1.67 + typedef typename BpGraph::BlueNodeIt BlueNodeIt; \
1.68 + typedef typename BpGraph::template BlueNodeMap<bool> BoolBlueNodeMap; \
1.69 + typedef typename BpGraph::template BlueNodeMap<int> IntBlueNodeMap; \
1.70 + typedef typename BpGraph::template BlueNodeMap<double> DoubleBlueNodeMap
1.71
1.72 /// \brief Function to count the items in a graph.
1.73 ///
1.74 @@ -565,10 +566,10 @@
1.75 BlueNodeRefMap& blueNodeRefMap,
1.76 EdgeRefMap& edgeRefMap) {
1.77 to.clear();
1.78 - for (typename From::RedIt it(from); it != INVALID; ++it) {
1.79 + for (typename From::RedNodeIt it(from); it != INVALID; ++it) {
1.80 redNodeRefMap[it] = to.addRedNode();
1.81 }
1.82 - for (typename From::BlueIt it(from); it != INVALID; ++it) {
1.83 + for (typename From::BlueNodeIt it(from); it != INVALID; ++it) {
1.84 blueNodeRefMap[it] = to.addBlueNode();
1.85 }
1.86 for (typename From::EdgeIt it(from); it != INVALID; ++it) {
1.87 @@ -1164,10 +1165,10 @@
1.88 /// // Create cross references (inverse) for the edges
1.89 /// NewBpGraph::EdgeMap<OrigBpGraph::Edge> ecr(new_graph);
1.90 /// cg.edgeCrossRef(ecr);
1.91 - /// // Copy a red map
1.92 - /// OrigBpGraph::RedMap<double> ormap(orig_graph);
1.93 - /// NewBpGraph::RedMap<double> nrmap(new_graph);
1.94 - /// cg.edgeMap(ormap, nrmap);
1.95 + /// // Copy a red node map
1.96 + /// OrigBpGraph::RedNodeMap<double> ormap(orig_graph);
1.97 + /// NewBpGraph::RedNodeMap<double> nrmap(new_graph);
1.98 + /// cg.redNodeMap(ormap, nrmap);
1.99 /// // Copy a node
1.100 /// OrigBpGraph::Node on;
1.101 /// NewBpGraph::Node nn;
1.102 @@ -1194,8 +1195,8 @@
1.103 typedef typename To::Arc TArc;
1.104 typedef typename To::Edge TEdge;
1.105
1.106 - typedef typename From::template RedMap<TRedNode> RedNodeRefMap;
1.107 - typedef typename From::template BlueMap<TBlueNode> BlueNodeRefMap;
1.108 + typedef typename From::template RedNodeMap<TRedNode> RedNodeRefMap;
1.109 + typedef typename From::template BlueNodeMap<TBlueNode> BlueNodeRefMap;
1.110 typedef typename From::template EdgeMap<TEdge> EdgeRefMap;
1.111
1.112 struct NodeRefMap {
1.113 @@ -1352,7 +1353,7 @@
1.114 /// the original map \c map should be the Node type of the source
1.115 /// graph.
1.116 template <typename FromMap, typename ToMap>
1.117 - BpGraphCopy& redMap(const FromMap& map, ToMap& tmap) {
1.118 + BpGraphCopy& redNodeMap(const FromMap& map, ToMap& tmap) {
1.119 _red_maps.push_back(new _core_bits::MapCopy<From, RedNode,
1.120 RedNodeRefMap, FromMap, ToMap>(map, tmap));
1.121 return *this;
1.122 @@ -1403,7 +1404,7 @@
1.123 /// the original map \c map should be the Node type of the source
1.124 /// graph.
1.125 template <typename FromMap, typename ToMap>
1.126 - BpGraphCopy& blueMap(const FromMap& map, ToMap& tmap) {
1.127 + BpGraphCopy& blueNodeMap(const FromMap& map, ToMap& tmap) {
1.128 _blue_maps.push_back(new _core_bits::MapCopy<From, BlueNode,
1.129 BlueNodeRefMap, FromMap, ToMap>(map, tmap));
1.130 return *this;