| 1234567891011121314151617181920212223242526272829303132333435363738394041 |
- //
- // iterator_fwd.h
- // iterator
- //
- // Created by Sam Jaffe on 2/18/17.
- //
- #pragma once
- #include <cstdlib>
- #include <iterator>
- namespace iterator {
- struct sentinel_t;
- // Iterator types
- template <typename It> class CaptureIterator;
- template <typename It> class EndAwareIterator;
- template <typename It> class EnumerateIterator;
- template <typename It, typename Pred> class FilterIterator;
- template <typename OIt> class JoinIterator;
- template <typename It> class ValuesIterator;
- template <typename... Its> class ZipIterator;
- struct unbounded {};
- template <size_t N>
- requires(N > 0)
- struct bounded {};
- template <typename It, typename MaxDepth = unbounded> class RecursiveIterator;
- template <typename It, size_t N>
- using RecursiveIteratorN = RecursiveIterator<It, bounded<N>>;
- template <typename It, typename Projs, typename MaxDepth>
- class ProjectingRecursiveIterator;
- template <typename CRTP> class Facade;
- template <typename It, typename CRTP,
- typename = typename std::iterator_traits<It>::iterator_category>
- class Proxy;
- }
|