COIN-OR::LEMON - Graph Library

Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • lemon/path.h

    r144 r100  
    904904
    905905    template <typename Path, typename Enable = void>
    906     struct RevPathTagIndicator {
     906    struct RevTagIndicator {
    907907      static const bool value = false;
    908908    };
    909909
    910     template <typename Path>
    911     struct RevPathTagIndicator<
    912       Path,
    913       typename enable_if<typename Path::RevPathTag, void>::type
    914       > {
    915       static const bool value = true;
    916     };
    917 
    918     template <typename Path, typename Enable = void>
    919     struct BuildTagIndicator {
    920       static const bool value = false;
    921     };
    922 
    923     template <typename Path>
    924     struct BuildTagIndicator<
    925       Path,
    926       typename enable_if<typename Path::BuildTag, void>::type
     910    template <typename Digraph>
     911    struct RevTagIndicator<
     912      Digraph,
     913      typename enable_if<typename Digraph::RevTag, void>::type
    927914    > {
    928915      static const bool value = true;
     
    930917
    931918    template <typename Target, typename Source,
    932               bool buildEnable = BuildTagIndicator<Target>::value,
    933               bool revEnable = RevPathTagIndicator<Source>::value>
     919              typename BuildEnable = void, typename RevEnable = void>
    934920    struct PathCopySelector {
    935921      static void copy(Target& target, const Source& source) {
     
    941927    };
    942928
    943     template <typename Target, typename Source>
    944     struct PathCopySelector<Target, Source, false, true> {
     929    template <typename Target, typename Source, typename BuildEnable>
     930    struct PathCopySelector<
     931      Target, Source, BuildEnable,
     932      typename enable_if<typename Source::RevPathTag, void>::type> {
    945933      static void copy(Target& target, const Source& source) {
    946934        target.clear();
     
    951939    };
    952940
    953     template <typename Target, typename Source>
    954     struct PathCopySelector<Target, Source, true, false> {
     941    template <typename Target, typename Source, typename RevEnable>
     942    struct PathCopySelector<
     943      Target, Source,
     944      typename enable_if<typename Target::BuildTag, void>::type, RevEnable> {
    955945      static void copy(Target& target, const Source& source) {
    956946        target.clear();
     
    960950
    961951    template <typename Target, typename Source>
    962     struct PathCopySelector<Target, Source, true, true> {
     952    struct PathCopySelector<
     953      Target, Source,
     954      typename enable_if<typename Target::BuildTag, void>::type,
     955      typename enable_if<typename Source::RevPathTag, void>::type> {
    963956      static void copy(Target& target, const Source& source) {
    964957        target.clear();
Note: See TracChangeset for help on using the changeset viewer.