|
|
template<typename Rng > |
| static auto | begin_cursor (Rng &rng) -> decltype(rng.begin_cursor()) |
| |
|
template<typename Rng > |
| static auto | end_cursor (Rng &rng) -> decltype(rng.end_cursor()) |
| |
|
template<typename Rng > |
| static auto | begin_adaptor (Rng &rng) -> decltype(rng.begin_adaptor()) |
| |
|
template<typename Rng > |
| static auto | end_adaptor (Rng &rng) -> decltype(rng.end_adaptor()) |
| |
|
template<typename Cur > |
| static auto | current (Cur const &pos) -> decltype(pos.current()) |
| |
|
template<typename Cur > |
| static auto | next (Cur &pos) -> decltype(pos.next()) |
| |
|
template<typename Cur > |
| static constexpr auto | done (Cur const &pos) -> decltype(pos.done()) |
| |
|
template<typename Cur > |
| static auto | equal (Cur const &pos0, Cur const &pos1) -> decltype(pos0.equal(pos1)) |
| |
|
template<typename Cur , typename S > |
| static constexpr auto | empty (Cur const &pos, S const &end) -> decltype(end.equal(pos)) |
| |
|
template<typename Cur > |
| static auto | prev (Cur &pos) -> decltype(pos.prev()) |
| |
|
template<typename Cur , typename D > |
| static auto | advance (Cur &pos, D n) -> decltype(pos.advance(n)) |
| |
|
template<typename Cur > |
| static auto | distance_to (Cur const &pos0, Cur const &pos1) -> decltype(pos0.distance_to(pos1)) |
| |
|
template<typename Cur , typename S > |
| static Cur | cursor (basic_iterator< Cur, S > it) |
| |
|
template<typename S > |
| static S | sentinel (basic_sentinel< S > s) |
| |