lemon/path_utils.h
changeset 2372 7fcc0179fb21
parent 2350 eb371753e814
child 2391 14a343be7a5a
equal deleted inserted replaced
1:04b482d7b684 2:c88ce922235f
    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