std::ranges::join_view<V>::iterator<Const>::iterator
From cppreference.com
C++
Feature test macros (C++20)
Concepts library (C++20)
Metaprogramming library (C++11)
Ranges library (C++20)
Filesystem library (C++17)
Concurrency support library (C++11)
Execution control library (C++26)
Ranges library
(C++23)(C++23)
(C++26)(C++26)
(C++23)(C++23)
(C++26)(C++26)
(C++26)(C++26)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
(C++23)(C++23)
std::ranges::join_view
join_view::iterator::iterator
/*iterator*/() requires std::default_initializable <OuterIter> &&
std::default_initializable <InnerIter> = default;
(1)
(since C++20)
std::default_initializable <InnerIter> = default;
constexpr /*iterator*/( Parent& parent, OuterIter outer );
(2)
(since C++20)
constexpr /*iterator*/( /*iterator*/<!Const> i )
(3)
(since C++20)
requires Const &&
std::convertible_to <ranges::iterator_t <V>, OuterIter> &&
Constructs an iterator.
1) Default constructor. Value-initializes the underlying iterators, and initializes the pointer to parent ranges::join_view with nullptr.
2) Initializes the underlying
outer_
iterator with std::move(outer), and the pointer to parent parent_
with std::addressof (parent); then calls satisfy()
.3) Converts /*iterator*/<false> to /*iterator*/<true>. Move constructs the underlying iterators
outer_
with std::move(i.outer_), inner_
with std::move(i.inner_), and underlying pointer to parent parent_
with i.parent_.[edit] Parameters
parent
-
a (possibly const-qualified) ranges::join_view
outer
-
an iterator into (possibly const-qualified) ranges::iterator_t <Base>
i
-
an /*iterator*/<false>
[edit] Example
This section is incomplete
Reason: no example
Reason: no example