equal
deleted
inserted
replaced
46 |
46 |
47 template <typename Target, typename Source, |
47 template <typename Target, typename Source, |
48 typename BuildEnable = void, typename RevEnable = void> |
48 typename BuildEnable = void, typename RevEnable = void> |
49 struct PathCopySelector { |
49 struct PathCopySelector { |
50 static void copy(Target& target, const Source& source) { |
50 static void copy(Target& target, const Source& source) { |
51 source.clear(); |
51 target.clear(); |
52 for (typename Source::EdgeIt it(source); it != INVALID; ++it) { |
52 for (typename Source::EdgeIt it(source); it != INVALID; ++it) { |
53 target.addBack(it); |
53 target.addBack(it); |
54 } |
54 } |
55 } |
55 } |
56 }; |
56 }; |
58 template <typename Target, typename Source, typename BuildEnable> |
58 template <typename Target, typename Source, typename BuildEnable> |
59 struct PathCopySelector< |
59 struct PathCopySelector< |
60 Target, Source, BuildEnable, |
60 Target, Source, BuildEnable, |
61 typename enable_if<typename Source::RevPathTag, void>::type> { |
61 typename enable_if<typename Source::RevPathTag, void>::type> { |
62 static void copy(Target& target, const Source& source) { |
62 static void copy(Target& target, const Source& source) { |
63 source.clear(); |
63 target.clear(); |
64 for (typename Source::RevIt it(source); it != INVALID; ++it) { |
64 for (typename Source::RevEdgeIt it(source); it != INVALID; ++it) { |
65 target.addFront(it); |
65 target.addFront(it); |
66 } |
66 } |
67 } |
67 } |
68 }; |
68 }; |
69 |
69 |