# HG changeset patch # User Alpar Juttner # Date 1257433244 -3600 # Node ID bfe8377ba349e76d72a23aff8f1272e8c69d549e # Parent 4ffd9b129fa804c2c40d10eda3ba733a695b1f99# Parent c6acc34f98dc634b544e62802b9adc8b014bc7f7 Merge fix #321 diff -r 4ffd9b129fa8 -r bfe8377ba349 lemon/path.h --- a/lemon/path.h Mon Oct 12 15:26:22 2009 +0100 +++ b/lemon/path.h Thu Nov 05 16:00:44 2009 +0100 @@ -70,7 +70,7 @@ /// It simply makes a copy of the given path. template Path(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); } /// \brief Template copy assignment @@ -78,7 +78,7 @@ /// This operator makes a copy of a path of any other type. template Path& operator=(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); return *this; } @@ -258,7 +258,7 @@ /// makes a copy of the given path. template SimplePath(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); } /// \brief Template copy assignment @@ -267,7 +267,7 @@ /// makes a copy of the given path. template SimplePath& operator=(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); return *this; } @@ -437,7 +437,7 @@ /// makes a copy of the given path. template ListPath(const CPath& cpath) : first(0), last(0) { - copyPath(*this, cpath); + pathCopy(cpath, *this); } /// \brief Destructor of the path @@ -453,7 +453,7 @@ /// makes a copy of the given path. template ListPath& operator=(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); return *this; } @@ -763,7 +763,7 @@ /// This path can be initialized from any other path type. template StaticPath(const CPath& cpath) : arcs(0) { - copyPath(*this, cpath); + pathCopy(cpath, *this); } /// \brief Destructor of the path @@ -779,7 +779,7 @@ /// makes a copy of the given path. template StaticPath& operator=(const CPath& cpath) { - copyPath(*this, cpath); + pathCopy(cpath, *this); return *this; } @@ -928,57 +928,57 @@ static const bool value = true; }; - template ::value> + template ::value> struct PathCopySelectorForward { - static void copy(Target& target, const Source& source) { - target.clear(); - for (typename Source::ArcIt it(source); it != INVALID; ++it) { - target.addBack(it); + static void copy(const From& from, To& to) { + to.clear(); + for (typename From::ArcIt it(from); it != INVALID; ++it) { + to.addBack(it); } } }; - template - struct PathCopySelectorForward { - static void copy(Target& target, const Source& source) { - target.clear(); - target.build(source); + template + struct PathCopySelectorForward { + static void copy(const From& from, To& to) { + to.clear(); + to.build(from); } }; - template ::value> + template ::value> struct PathCopySelectorBackward { - static void copy(Target& target, const Source& source) { - target.clear(); - for (typename Source::RevArcIt it(source); it != INVALID; ++it) { - target.addFront(it); + static void copy(const From& from, To& to) { + to.clear(); + for (typename From::RevArcIt it(from); it != INVALID; ++it) { + to.addFront(it); } } }; - template - struct PathCopySelectorBackward { - static void copy(Target& target, const Source& source) { - target.clear(); - target.buildRev(source); + template + struct PathCopySelectorBackward { + static void copy(const From& from, To& to) { + to.clear(); + to.buildRev(from); } }; - template ::value> + template ::value> struct PathCopySelector { - static void copy(Target& target, const Source& source) { - PathCopySelectorForward::copy(target, source); + static void copy(const From& from, To& to) { + PathCopySelectorForward::copy(from, to); } }; - template - struct PathCopySelector { - static void copy(Target& target, const Source& source) { - PathCopySelectorBackward::copy(target, source); + template + struct PathCopySelector { + static void copy(const From& from, To& to) { + PathCopySelectorBackward::copy(from, to); } }; @@ -987,11 +987,19 @@ /// \brief Make a copy of a path. /// - /// This function makes a copy of a path. - template - void copyPath(Target& target, const Source& source) { - checkConcept, Source>(); - _path_bits::PathCopySelector::copy(target, source); + /// This function makes a copy of a path. + template + void pathCopy(const From& from, To& to) { + checkConcept, From>(); + _path_bits::PathCopySelector::copy(from, to); + } + + /// \brief Deprecated version of \ref pathCopy(). + /// + /// Deprecated version of \ref pathCopy() (only for reverse compatibility). + template + void copyPath(To& to, const From& from) { + pathCopy(from, to); } /// \brief Check the consistency of a path.