Przeglądaj źródła

refactor: a lot of re-indenting

Sam Jaffe 3 lat temu
rodzic
commit
4c74c7c5ad

+ 2 - 2
include/iterator/detail/arrow_proxy.h

@@ -3,7 +3,7 @@
  */
 #pragma once
 
-namespace iterator { namespace detail {
+namespace iterator::detail {
   template <typename Reference> struct arrow_proxy {
     arrow_proxy(Reference r) : r(std::move(r)) {}
     Reference r;
@@ -11,4 +11,4 @@ namespace iterator { namespace detail {
   };
 
   template <typename R> arrow_proxy(R r) -> arrow_proxy<R>;
-}}
+}

+ 2 - 7
include/iterator/end_aware_iterator.hpp

@@ -53,15 +53,10 @@ namespace iterator {
 
 MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::end_aware_iterator);
 
-template <typename Iter>
-iterator::end_aware_iterator<Iter> make_end_aware_iterator(Iter a, Iter b) {
-  return iterator::end_aware_iterator<Iter>(a, b);
-}
-
 template <typename C> auto make_end_aware_iterator(C & collect) {
-  return make_end_aware_iterator(std::begin(collect), std::end(collect));
+  return iterator::end_aware_iterator(std::begin(collect), std::end(collect));
 }
 
 template <typename C> auto make_end_aware_iterator(C const & collect) {
-  return make_end_aware_iterator(std::begin(collect), std::end(collect));
+  return iterator::end_aware_iterator(std::begin(collect), std::end(collect));
 }

+ 2 - 3
include/iterator/facade.h

@@ -89,7 +89,6 @@ namespace iterator::detail {
 #undef exists
 
 namespace iterator {
-
   template <typename D, typename T>
   using difference_type_arg_t =
       std::enable_if_t<std::is_convertible_v<D, detail::distance_to_t<T>>>;
@@ -249,9 +248,9 @@ template <typename I> struct std::iterator_traits<::iterator::facade<I>> {
 #define MAKE_ITERATOR_FACADE_TYPEDEFS(type)                                    \
   template <>                                                                  \
   struct std::iterator_traits<type>                                            \
-      : std::iterator_traits<::iterator::facade<type>> {};
+      : std::iterator_traits<::iterator::facade<type>> {}
 
 #define MAKE_ITERATOR_FACADE_TYPEDEFS_T(type)                                  \
   template <typename... T>                                                     \
   struct std::iterator_traits<type<T...>>                                      \
-      : std::iterator_traits<::iterator::facade<type<T...>>> {};
+      : std::iterator_traits<::iterator::facade<type<T...>>> {}

+ 11 - 11
include/iterator/filter_iterator.hpp

@@ -21,32 +21,32 @@ namespace iterator {
     using value_type = std::remove_cv_t<std::remove_reference_t<reference>>;
     using difference_type = std::ptrdiff_t;
     using iterator_category = std::forward_iterator_tag;
+    using predicate_t = std::function<bool(value_type const &)>;
 
   public:
     filter_iterator() = default;
-    template <typename... Args>
-    filter_iterator(std::function<bool(value_type const &)> && p,
-                    Args &&... super_args)
-        : base(end_aware_iterator(std::forward<Args>(super_args)...)),
-          pred(std::move(p)) {
+    filter_iterator(predicate_t pred, Iter curr, Iter end)
+        : base_(curr, end), pred_(std::move(pred)) {
       if (should_advance()) { increment(); }
     }
+    filter_iterator(predicate_t pred, Iter end)
+        : filter_iterator(end, end, std::move(pred)) {}
 
-    decltype(auto) dereference() const { return base.dereference(); }
+    decltype(auto) dereference() const { return base_.dereference(); }
     void increment() {
       do {
-        base.increment();
+        base_.increment();
       } while (should_advance());
     }
     bool equal_to(filter_iterator const & other) const {
-      return base == other.base;
+      return base_ == other.base_;
     }
 
   public:
-    bool should_advance() { return !base.at_end() && !pred(dereference()); }
+    bool should_advance() { return !base_.at_end() && !pred_(dereference()); }
 
-    end_aware_iterator<Iter> base;
-    std::function<bool(value_type const &)> pred;
+    end_aware_iterator<Iter> base_;
+    predicate_t pred_;
   };
 }
 

+ 1 - 1
include/iterator/indexed_iterator.hpp

@@ -51,4 +51,4 @@ namespace iterator {
   };
 }
 
-MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::indexed_iterator)
+MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::indexed_iterator);

+ 2 - 0
include/iterator/join_iterator.hpp

@@ -72,3 +72,5 @@ namespace iterator {
     end_aware_iterator<iter_type> iterator_;
   };
 }
+
+MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::joining_iterator);

+ 0 - 1
include/iterator/recursive_iterator.hpp

@@ -170,7 +170,6 @@ namespace iterator::recursive {
       assign<I>(pair.second);
     }
   };
-
 }
 
 MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::recursive::rimpl);

+ 1 - 1
include/iterator/unkeyed_iterator.hpp

@@ -37,4 +37,4 @@ namespace iterator {
   };
 }
 
-MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::unkeyed_iterator)
+MAKE_ITERATOR_FACADE_TYPEDEFS_T(::iterator::unkeyed_iterator);