std::ranges...r::iterator(3)
π NAME π
okay so bestie, this page is for std::ranges::join_view::iterator::iterator β and yes, the NAME section says std::ranges::join_view::iterator::iterator again π
. We're in the C++ Standard Libary manual, and the whole vibe is: construct an iterator β¨
β¨ Synopsis β¨
Here's the signature lineup, no cap:
/*iterator*/() requires std::default_initializable<OuterIter> &&
std::default_initializable<InnerIter> = default;
(1) (since C++20)
constexpr /*iterator*/( Parent& parent, OuterIter outer );
(2) (since C++20)
constexpr /*iterator*/( /*iterator*/<!Const> i )
requires Const &&
std::convertible_to<ranges::iterator_t<V>, OuterIter> &&
std::convertible_to<ranges::iterator_t<InnerRng>, InnerIter>;
(3) (since C++20)
Construct an iterator. π οΈβ¨ That's the whole assignment.
- Default constructor π£ β value-initializes the underlying iterators, and initializes the pointer to parent
ranges::join_viewwithnullptr. - Parent + outer constructor π± β initializes the underlying
outer_iterator withstd::move(outer), and the pointer to parentparent_withstd::addressof(parent); then callssatisfy(). - Conversion constructor π¦ β conversion from
/*iterator*/<false>to/*iterator*/<true>. Move constructs the underlying iteratorsouter_withstd::move(i.outer_),inner_withstd::move(i.inner_), and the underlying pointer to parentparent_withi.parent_.
π Parameters π
parentβ a (possibly const-qualified)ranges::join_viewouterβ an iterator into (possibly const-qualified)ranges::iterator_t<Base>iβ an/*iterator*/<false>
π«Ά Example π«Ά
This section is incomplete Reason: no example π
π·οΈ Category π·οΈ
* Todo no example
okay bestie, that's the whole page π source/version/date sign-off: http://cppreference.com Β· 2024.06.10 Β· slay β¨π
π¦ where this page comes from
- nixpkgs unstable: stdman 2024.07.05
- opensuse-leap 16.0: stdman 2024.07.05-bp160.1.9 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms