std::experi...rectRelation(3)

πŸ“¦ version 2024.07.05, in nixpkgs unstable, opensuse-leap 16.0

okay bestie, welcome to the std::experi...rectRelation(3) page from the C++ Standard Libary β€” yes, that typo is canon now, we're keeping her πŸ’… No cap, this one's a concept bool from the Ranges TS era, and the page itself is serving "incomplete" realness. Let's go ✨

πŸŽ€ NAME πŸŽ€

std::experimental::ranges::IndirectRelation β€” std::experimental::ranges::IndirectRelation

She said it twice because she's that iconic: the full name is std::experimental::ranges::IndirectRelation, and the manpage lists it as std::experimental::ranges::IndirectRelation again. Periodt πŸ’–

✨ Synopsis ✨

First things first, bestie: this cutie is defined in header <experimental/ranges/iterator>. Here's the exact template and concept bool β€” don't let the line breaks gaslight you, I copied them faithfully:

template< class F, class I1, class I2 = I1 >

concept bool IndirectRelation =
    Readable<I1> && Readable<I2> &&
    CopyConstructible<F> &&
    Relation<F&, ranges::value_type_t<I1>&,
ranges::value_type_t<I2>&>
&&
 (ranges TS)
    Relation<F&, ranges::value_type_t<I1>&, ranges::reference_t<I2>>
&&
    Relation<F&, ranges::reference_t<I1>, ranges::value_type_t<I2>&>
&&
    Relation<F&, ranges::reference_t<I1>, ranges::reference_t<I2>> &&

    Relation<F&, ranges::iter_common_reference_t<I1>,
ranges::iter_common_reference_t<I2>>;

Notice the (ranges TS) in there β€” that's part of the code block, not a drill πŸ‘‘πŸ”₯

This section is incomplete Reason: add description and extra caveats

Category:

  • Todo with reason

mwah πŸ’‹ this page's source/version is http://cppreference.com, dated 2024.06.10, and it will forever be the std::experi...rectRelation(3) manual page. Stay slay, read your Ranges TS docs, and hydrate πŸ¦‹πŸ’–πŸŒΈ

πŸ“¦ where this page comes from