| 123456789101112131415161718192021222324252627282930313233343536 |
- //
- // iterator_fwd.hpp
- // iterator
- //
- // Created by Sam Jaffe on 2/18/17.
- //
- #pragma once
- #include <cstdlib>
- #include <iterator>
- namespace iterator::recursive {
- struct unbounded;
- template <size_t N, size_t I = 1> struct bounded;
- template <typename, typename = unbounded> class rimpl;
- }
- namespace iterator {
- template <typename> class end_aware_iterator;
- template <typename, bool = false> class filter_iterator;
- template <typename> class joining_iterator;
- template <typename> class unkeyed_iterator;
- template <typename...> class zip_iterator;
- template <typename Iter> using recursive_iterator = recursive::rimpl<Iter>;
- template <typename Iter, std::size_t N>
- using recursive_iterator_n = recursive::rimpl<Iter, recursive::bounded<N>>;
- template <typename> class facade;
- template <typename Iter, typename,
- typename = typename std::iterator_traits<Iter>::iterator_category>
- class proxy;
- template <typename C> using iter = decltype(std::begin(std::declval<C>()));
- }
|