std::indire...t_weak_order(3)

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

πŸ’… std::indirect_strict_weak_order ✨

okay bestie, so this page is literally about std::indirect_strict_weak_order β€” that's the NAME, that's the whole vibe, we're doing this 🫢 (manual fam: C++ Standard Library, if you were wondering πŸ‘‘).

Defined in header <iterator> β€” don't forget to #include it, no cap πŸ™ˆ


🌸 Synopsis 🌸

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

concept indirect_strict_weak_order =
    std::indirectly_readable<I1> &&
    std::indirectly_readable<I2> &&
    std::copy_constructible<F> &&
    std::strict_weak_order<F&, std::iter_value_t<I1>&,
std::iter_value_t<I2>&> &&
    std::strict_weak_order<F&, std::iter_value_t<I1>&,
std::iter_reference_t<I2>> &&
    std::strict_weak_order<F&, std::iter_reference_t<I1>,
std::iter_value_t<I2>&> &&
    std::strict_weak_order<F&, std::iter_reference_t<I1>,
std::iter_reference_t<I2>> &&
    std::strict_weak_order<F&, std::iter_common_reference_t<I1>,

                           std::iter_common_reference_t<I2>>;
✨ since C++20 ✨ β€” she's a modern queen, we stan πŸ’œ

πŸ¦‹ Description πŸ¦‹

So like… the concept std::indirect_strict_weak_order specifies the requirements for algorithms that call strict weak orders as their arguments. That's it, that's the job πŸ’…

The key difference between this concept and std::strict_weak_order is that it's applied to the types that I1 and I2 reference, rather than to I1 and I2 themselves. it's giving "look past the iterator, see the soul" 🧚 lowkey iconic honestly ✨


πŸŽ€ Semantic requirements πŸŽ€

F, I1, and I2 model indirect_strict_weak_order only if all concepts it subsumes are modeled. that's the whole rule, bestie β€” no extra credit, no shortcuts, fr fr πŸ”₯


okay that's the page!! sourced from cppreference.com, dated 2024.06.10, and yes the manpage title/footer said std::indire...t_weak_order(3) because even the filename got truncated mid-sl*y β€” relatable πŸ˜­πŸ’€ go forth and order things indirectly, mwah πŸ“πŸ’–

πŸ“¦ where this page comes from