Changeset 1194:699c7eac2c6d in lemon for lemon/core.h
- Timestamp:
- 01/11/12 22:21:07 (12 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/core.h
r1193 r1194 151 151 ///Create convenience typedefs for the bipartite graph types and iterators 152 152 153 ///This \c \#define creates the same convenient type definitions as defined 154 ///by \ref GRAPH_TYPEDEFS(BpGraph) and ten more, namely it creates 155 ///\c RedNode, \c RedIt, \c BoolRedMap, \c IntRedMap, \c DoubleRedMap, 156 ///\c BlueNode, \c BlueIt, \c BoolBlueMap, \c IntBlueMap, \c DoubleBlueMap. 153 ///This \c \#define creates the same convenient type definitions as 154 ///defined by \ref GRAPH_TYPEDEFS(BpGraph) and ten more, namely it 155 ///creates \c RedNode, \c RedNodeIt, \c BoolRedNodeMap, 156 ///\c IntRedNodeMap, \c DoubleRedNodeMap, \c BlueNode, \c BlueNodeIt, 157 ///\c BoolBlueNodeMap, \c IntBlueNodeMap, \c DoubleBlueNodeMap. 157 158 /// 158 159 ///\note If the graph type is a dependent type, ie. the graph type depend … … 162 163 GRAPH_TYPEDEFS(BpGraph); \ 163 164 typedef BpGraph::RedNode RedNode; \ 164 typedef BpGraph::Red It RedIt;\165 typedef BpGraph::Red Map<bool> BoolRedMap;\166 typedef BpGraph::Red Map<int> IntRedMap;\167 typedef BpGraph::Red Map<double> DoubleRedMap;\165 typedef BpGraph::RedNodeIt RedNodeIt; \ 166 typedef BpGraph::RedNodeMap<bool> BoolRedNodeMap; \ 167 typedef BpGraph::RedNodeMap<int> IntRedNodeMap; \ 168 typedef BpGraph::RedNodeMap<double> DoubleRedNodeMap; \ 168 169 typedef BpGraph::BlueNode BlueNode; \ 169 typedef BpGraph::Blue It BlueIt;\170 typedef BpGraph::Blue Map<bool> BoolBlueMap;\171 typedef BpGraph::Blue Map<int> IntBlueMap;\172 typedef BpGraph::Blue Map<double> DoubleBlueMap170 typedef BpGraph::BlueNodeIt BlueNodeIt; \ 171 typedef BpGraph::BlueNodeMap<bool> BoolBlueNodeMap; \ 172 typedef BpGraph::BlueNodeMap<int> IntBlueNodeMap; \ 173 typedef BpGraph::BlueNodeMap<double> DoubleBlueNodeMap 173 174 174 175 ///Create convenience typedefs for the bipartite graph types and iterators … … 178 179 ///\note Use this macro, if the graph type is a dependent type, 179 180 ///ie. the graph type depend on a template parameter. 180 #define TEMPLATE_BPGRAPH_TYPEDEFS(BpGraph) \181 TEMPLATE_GRAPH_TYPEDEFS(BpGraph); \182 typedef typename BpGraph::RedNode RedNode; \183 typedef typename BpGraph::Red It RedIt;\184 typedef typename BpGraph::template Red Map<bool> BoolRedMap;\185 typedef typename BpGraph::template Red Map<int> IntRedMap;\186 typedef typename BpGraph::template Red Map<double> DoubleRedMap;\187 typedef typename BpGraph::BlueNode BlueNode; \188 typedef typename BpGraph::Blue It BlueIt;\189 typedef typename BpGraph::template Blue Map<bool> BoolBlueMap;\190 typedef typename BpGraph::template Blue Map<int> IntBlueMap;\191 typedef typename BpGraph::template Blue Map<double> DoubleBlueMap181 #define TEMPLATE_BPGRAPH_TYPEDEFS(BpGraph) \ 182 TEMPLATE_GRAPH_TYPEDEFS(BpGraph); \ 183 typedef typename BpGraph::RedNode RedNode; \ 184 typedef typename BpGraph::RedNodeIt RedNodeIt; \ 185 typedef typename BpGraph::template RedNodeMap<bool> BoolRedNodeMap; \ 186 typedef typename BpGraph::template RedNodeMap<int> IntRedNodeMap; \ 187 typedef typename BpGraph::template RedNodeMap<double> DoubleRedNodeMap; \ 188 typedef typename BpGraph::BlueNode BlueNode; \ 189 typedef typename BpGraph::BlueNodeIt BlueNodeIt; \ 190 typedef typename BpGraph::template BlueNodeMap<bool> BoolBlueNodeMap; \ 191 typedef typename BpGraph::template BlueNodeMap<int> IntBlueNodeMap; \ 192 typedef typename BpGraph::template BlueNodeMap<double> DoubleBlueNodeMap 192 193 193 194 /// \brief Function to count the items in a graph. … … 566 567 EdgeRefMap& edgeRefMap) { 567 568 to.clear(); 568 for (typename From::Red It it(from); it != INVALID; ++it) {569 for (typename From::RedNodeIt it(from); it != INVALID; ++it) { 569 570 redNodeRefMap[it] = to.addRedNode(); 570 571 } 571 for (typename From::Blue It it(from); it != INVALID; ++it) {572 for (typename From::BlueNodeIt it(from); it != INVALID; ++it) { 572 573 blueNodeRefMap[it] = to.addBlueNode(); 573 574 } … … 1165 1166 /// NewBpGraph::EdgeMap<OrigBpGraph::Edge> ecr(new_graph); 1166 1167 /// cg.edgeCrossRef(ecr); 1167 /// // Copy a red map1168 /// OrigBpGraph::Red Map<double> ormap(orig_graph);1169 /// NewBpGraph::Red Map<double> nrmap(new_graph);1170 /// cg. edgeMap(ormap, nrmap);1168 /// // Copy a red node map 1169 /// OrigBpGraph::RedNodeMap<double> ormap(orig_graph); 1170 /// NewBpGraph::RedNodeMap<double> nrmap(new_graph); 1171 /// cg.redNodeMap(ormap, nrmap); 1171 1172 /// // Copy a node 1172 1173 /// OrigBpGraph::Node on; … … 1195 1196 typedef typename To::Edge TEdge; 1196 1197 1197 typedef typename From::template Red Map<TRedNode> RedNodeRefMap;1198 typedef typename From::template Blue Map<TBlueNode> BlueNodeRefMap;1198 typedef typename From::template RedNodeMap<TRedNode> RedNodeRefMap; 1199 typedef typename From::template BlueNodeMap<TBlueNode> BlueNodeRefMap; 1199 1200 typedef typename From::template EdgeMap<TEdge> EdgeRefMap; 1200 1201 … … 1353 1354 /// graph. 1354 1355 template <typename FromMap, typename ToMap> 1355 BpGraphCopy& red Map(const FromMap& map, ToMap& tmap) {1356 BpGraphCopy& redNodeMap(const FromMap& map, ToMap& tmap) { 1356 1357 _red_maps.push_back(new _core_bits::MapCopy<From, RedNode, 1357 1358 RedNodeRefMap, FromMap, ToMap>(map, tmap)); … … 1404 1405 /// graph. 1405 1406 template <typename FromMap, typename ToMap> 1406 BpGraphCopy& blue Map(const FromMap& map, ToMap& tmap) {1407 BpGraphCopy& blueNodeMap(const FromMap& map, ToMap& tmap) { 1407 1408 _blue_maps.push_back(new _core_bits::MapCopy<From, BlueNode, 1408 1409 BlueNodeRefMap, FromMap, ToMap>(map, tmap));
Note: See TracChangeset
for help on using the changeset viewer.