浏览代码

cmAlgorithms: Update concept requirement to FowardIterator

Stephen Kelly 10 年之前
父节点
当前提交
61fe1919de
共有 1 个文件被更改,包括 6 次插入6 次删除
  1. 6 6
      Source/cmAlgorithms.h

+ 6 - 6
Source/cmAlgorithms.h

@@ -81,14 +81,14 @@ private:
   const std::string m_test;
 };
 
-template<typename BiDirIt>
-BiDirIt cmRotate(BiDirIt first, BiDirIt middle, BiDirIt last)
+template<typename FwdIt>
+FwdIt cmRotate(FwdIt first, FwdIt middle, FwdIt last)
 {
-  typename std::iterator_traits<BiDirIt>::difference_type dist =
-      std::distance(first, middle);
+  typename std::iterator_traits<FwdIt>::difference_type dist =
+      std::distance(middle, last);
   std::rotate(first, middle, last);
-  std::advance(last, -dist);
-  return last;
+  std::advance(first, dist);
+  return first;
 }
 
 namespace ContainerAlgorithms {