Home | History | Annotate | Download | only in ADT

Lines Matching refs:iterators

260 // bidirectional iterators for this to work.
271 /// An iterator adaptor that filters the elements of given inner iterators.
382 // inner iterators have the same difference_type. It would fail if, for
393 std::tuple<Iters...> iterators;
397 return value_type(*std::get<Ns>(iterators)...);
401 decltype(iterators) tup_inc(index_sequence<Ns...>) const {
402 return std::tuple<Iters...>(std::next(std::get<Ns>(iterators))...);
406 decltype(iterators) tup_dec(index_sequence<Ns...>) const {
407 return std::tuple<Iters...>(std::prev(std::get<Ns>(iterators))...);
411 zip_common(Iters &&... ts) : iterators(std::forward<Iters>(ts)...) {}
420 iterators = tup_inc(index_sequence_for<Iters...>{});
426 "All inner iterators must be at least bidirectional.");
427 iterators = tup_dec(index_sequence_for<Iters...>{});
437 return std::get<0>(this->iterators) == std::get<0>(other.iterators);
447 return all_of(std::initializer_list<bool>{std::get<Ns>(this->iterators) !=
448 std::get<Ns>(other.iterators)...},
507 /// This can concatenate different iterators, even with different types, into
509 /// iterators expose `reference` and `pointer` types that can be converted to
521 /// We store both the current and end iterators for each concatenated
526 /// because we need to do mutation on the current iterators.
544 /// It is an error to call this with all iterators at the end.
572 /// It is an error to call this with all iterators at the end.
590 /// iterators.
918 /// two iterators.
1057 // Don't compare indices here, only iterators. It's possible for an end