summaryrefslogtreecommitdiffstats
path: root/Source/cmAlgorithms.h
diff options
context:
space:
mode:
authorStephen Kelly <steveire@gmail.com>2015-02-15 22:39:38 (GMT)
committerStephen Kelly <steveire@gmail.com>2015-02-20 20:36:58 (GMT)
commit09d6125bfe4034f332956f4bcc5b0a1ba0b82e27 (patch)
treeeb95f36492e9b0a621a0f7cff74ebe0c168b8688 /Source/cmAlgorithms.h
parent8ed6ecac3fb0f832333e2d5d6f3551ab8e335d0f (diff)
downloadCMake-09d6125bfe4034f332956f4bcc5b0a1ba0b82e27.zip
CMake-09d6125bfe4034f332956f4bcc5b0a1ba0b82e27.tar.gz
CMake-09d6125bfe4034f332956f4bcc5b0a1ba0b82e27.tar.bz2
cmAlgorithms: Move cmRotate out of 'implementation detail' namespace.
This should be generally usable in cmake.
Diffstat (limited to 'Source/cmAlgorithms.h')
-rw-r--r--Source/cmAlgorithms.h22
1 files changed, 11 insertions, 11 deletions
diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h
index 43e113b..30a062a 100644
--- a/Source/cmAlgorithms.h
+++ b/Source/cmAlgorithms.h
@@ -81,6 +81,16 @@ private:
const std::string m_test;
};
+template<typename BiDirIt>
+BiDirIt cmRotate(BiDirIt first, BiDirIt middle, BiDirIt last)
+{
+ typename std::iterator_traits<BiDirIt>::difference_type dist =
+ std::distance(first, middle);
+ std::rotate(first, middle, last);
+ std::advance(last, -dist);
+ return last;
+}
+
namespace ContainerAlgorithms {
template<typename T>
@@ -138,20 +148,10 @@ private:
const_iterator End;
};
-template<typename BiDirIt>
-BiDirIt Rotate(BiDirIt first, BiDirIt middle, BiDirIt last)
-{
- typename std::iterator_traits<BiDirIt>::difference_type dist =
- std::distance(first, middle);
- std::rotate(first, middle, last);
- std::advance(last, -dist);
- return last;
-}
-
template<typename Iter>
Iter RemoveN(Iter i1, Iter i2, size_t n)
{
- return ContainerAlgorithms::Rotate(i1, i1 + n, i2);
+ return cmRotate(i1, i1 + n, i2);
}
template<typename Range>