浏览代码

refactor: remove useless bits from end_aware_iterator

Sam Jaffe 3 年之前
父节点
当前提交
e475f7f156
共有 2 个文件被更改,包括 2 次插入12 次删除
  1. 2 4
      include/iterator/end_aware_iterator.hpp
  2. 0 8
      test/end_aware_iterator_test.cxx

+ 2 - 4
include/iterator/end_aware_iterator.hpp

@@ -32,7 +32,7 @@ namespace iterator {
 
     template <typename I>
     end_aware_iterator(end_aware_iterator<I> const & other)
-        : curr_(other.current()), end_(other.end()) {}
+        : curr_(other.curr_), end_(other.end_) {}
 
     decltype(auto) dereference() const { return *curr_; }
     void increment() { ++curr_; }
@@ -42,10 +42,8 @@ namespace iterator {
       return (at_end() && other.at_end()) || curr_ == other.curr_;
     }
 
-    It current() const { return curr_; }
-    It end() const { return end_; }
-
   private:
+    template <typename O> friend class end_aware_iterator;
     It curr_, end_;
   };
 

+ 0 - 8
test/end_aware_iterator_test.cxx

@@ -7,14 +7,6 @@
 using end_aware_iterator =
     ::iterator::end_aware_iterator<std::vector<int>::iterator>;
 
-TEST(EndAwareIteratorTest, IsConstructedFromInputs) {
-  std::vector<int> v{1, 2, 3, 4, 5};
-  auto begin = v.begin(), end = v.end();
-  end_aware_iterator eai(begin, end);
-  EXPECT_THAT(eai.current(), begin);
-  EXPECT_THAT(eai.end(), end);
-}
-
 // TODO: This ought to be implemented as a compiles-test
 TEST(EndAwareIteratorTest, CanCastCompatibleIterators) {
   std::vector<int> v{1, 2, 3, 4, 5};