Changeset 1401:cd72eae05bdf in lemon
- Timestamp:
- 07/16/18 16:21:40 (6 years ago)
- Branch:
- default
- Phase:
- public
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/adaptors.h
r1159 r1401 3447 3447 /// This map adaptor class adapts two node maps of the original digraph 3448 3448 /// to get a node map of the split digraph. 3449 /// Its value type is inherited from the first node map type (\c I N).3450 /// \tparam I NThe type of the node map for the in-nodes.3451 /// \tparam O UTThe type of the node map for the out-nodes.3452 template <typename I N, typename OUT>3449 /// Its value type is inherited from the first node map type (\c In). 3450 /// \tparam In The type of the node map for the in-nodes. 3451 /// \tparam Out The type of the node map for the out-nodes. 3452 template <typename In, typename Out> 3453 3453 class CombinedNodeMap { 3454 3454 public: … … 3457 3457 typedef Node Key; 3458 3458 /// The value type of the map 3459 typedef typename I N::Value Value;3460 3461 typedef typename MapTraits<I N>::ReferenceMapTag ReferenceMapTag;3462 typedef typename MapTraits<I N>::ReturnValue ReturnValue;3463 typedef typename MapTraits<I N>::ConstReturnValue ConstReturnValue;3464 typedef typename MapTraits<I N>::ReturnValue Reference;3465 typedef typename MapTraits<I N>::ConstReturnValue ConstReference;3459 typedef typename In::Value Value; 3460 3461 typedef typename MapTraits<In>::ReferenceMapTag ReferenceMapTag; 3462 typedef typename MapTraits<In>::ReturnValue ReturnValue; 3463 typedef typename MapTraits<In>::ConstReturnValue ConstReturnValue; 3464 typedef typename MapTraits<In>::ReturnValue Reference; 3465 typedef typename MapTraits<In>::ConstReturnValue ConstReference; 3466 3466 3467 3467 /// Constructor 3468 CombinedNodeMap(I N& in_map, OUT& out_map)3468 CombinedNodeMap(In& in_map, Out& out_map) 3469 3469 : _in_map(in_map), _out_map(out_map) {} 3470 3470 … … 3498 3498 private: 3499 3499 3500 I N& _in_map;3501 O UT& _out_map;3500 In& _in_map; 3501 Out& _out_map; 3502 3502 3503 3503 }; … … 3507 3507 /// 3508 3508 /// This function just returns a combined node map. 3509 template <typename I N, typename OUT>3510 static CombinedNodeMap<I N, OUT>3511 combinedNodeMap(I N& in_map, OUT& out_map) {3512 return CombinedNodeMap<I N, OUT>(in_map, out_map);3513 } 3514 3515 template <typename I N, typename OUT>3516 static CombinedNodeMap<const I N, OUT>3517 combinedNodeMap(const I N& in_map, OUT& out_map) {3518 return CombinedNodeMap<const I N, OUT>(in_map, out_map);3519 } 3520 3521 template <typename I N, typename OUT>3522 static CombinedNodeMap<I N, const OUT>3523 combinedNodeMap(I N& in_map, const OUT& out_map) {3524 return CombinedNodeMap<I N, const OUT>(in_map, out_map);3525 } 3526 3527 template <typename I N, typename OUT>3528 static CombinedNodeMap<const I N, const OUT>3529 combinedNodeMap(const I N& in_map, const OUT& out_map) {3530 return CombinedNodeMap<const I N, const OUT>(in_map, out_map);3509 template <typename In, typename Out> 3510 static CombinedNodeMap<In, Out> 3511 combinedNodeMap(In& in_map, Out& out_map) { 3512 return CombinedNodeMap<In, Out>(in_map, out_map); 3513 } 3514 3515 template <typename In, typename Out> 3516 static CombinedNodeMap<const In, Out> 3517 combinedNodeMap(const In& in_map, Out& out_map) { 3518 return CombinedNodeMap<const In, Out>(in_map, out_map); 3519 } 3520 3521 template <typename In, typename Out> 3522 static CombinedNodeMap<In, const Out> 3523 combinedNodeMap(In& in_map, const Out& out_map) { 3524 return CombinedNodeMap<In, const Out>(in_map, out_map); 3525 } 3526 3527 template <typename In, typename Out> 3528 static CombinedNodeMap<const In, const Out> 3529 combinedNodeMap(const In& in_map, const Out& out_map) { 3530 return CombinedNodeMap<const In, const Out>(in_map, out_map); 3531 3531 } 3532 3532
Note: See TracChangeset
for help on using the changeset viewer.