std::experi...ctWeakOrder(3)

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

πŸ’– NAME πŸ’–

okay so bestie, welcome to std::experi...ctWeakOrder(3) from the C++ Standard Libary manual 😭 that’s the manual name as printed, and we respect the source. The NAME block is literally giving main character energy and says this, exactly:

std::experimental::ranges::StrictWeakOrder -
std::experimental::ranges::StrictWeakOrder

So yes, the full name appears twice, with a dash between them. No cap, that’s the whole NAME vibe. πŸ’…

✨ Synopsis ✨

Defined in header <experimental/ranges/concepts> β€” write it down, bestie, this is important.

template< class R, class T, class U >             (1) (ranges TS)
concept bool StrictWeakOrder = Relation<R, T, U>;

The concept StrictWeakOrder<R, T, U> specifies that the Relation R imposes a strict weak ordering on its arguments. A relation r is a strict weak ordering if:

  • it is irreflexive: for all x, r(x, x) is false;
  • it is transitive: for all a, b and c, if r(a, b) and r(b, c) are both true then r(a, c) is true;
  • let e(a, b) be !r(a, b) && !r(b, a), then e is transitive: e(a, b) && e(b, c) implies e(a, c).

Under these conditions, it can be shown that e is an equivalence relation, and r induces a strict total ordering on the equivalence classes determined by e. That’s the whole glow-up, fr fr. 🌈

πŸŽ€ Notes πŸŽ€

The distinction between Relation and StrictWeakOrder is purely semantic. That’s it, that’s the note, periodt. 🫢


okay byeee bestie πŸ’– source/version/date moment: http://cppreference.com, version/date 2024.06.10, and the footer title is std::experi...ctWeakOrder(3). slay, you ate. πŸ’…βœ¨

πŸ“¦ where this page comes from