__GNU_PARALLEL::_EQUALFROMLESS(3cxx)

πŸ’… NAME πŸ’…

ok so bestie, gather round β€” this is __gnu_parallel::_EqualFromLess< _T1, _T2, _Compare >, and its whole personality is: constructs a predicate for equality from a strict weak ordering predicate. yeah. it takes a "less than" vibe and turns it into an "equal to" vibe. iconique. ✨

(it lives in the __gnu_parallel namespace, and the manual this page belongs to is libstdc++ β€” keep that in your back pocket, we'll circle back at the end 🫢)


✨ SYNOPSIS ✨

#include <base.h>

Inherits std::binary_function< _T1, _T2, bool >. so it's literally in the binary_function family, no cap πŸ’…

πŸŽ€ Public Types πŸŽ€

  • typedef _T1 first_argument_type β€” first_argument_type is the type of the first argument. yes bestie, it's giving exactly what it says on the tin.
  • typedef bool result_type β€” result_type is the return type. and that return type is bool, obviously. πŸ’–
  • typedef _T2 second_argument_type β€” second_argument_type is the type of the second argument. the sequel. the encore. the second one. 😭

🌸 Public Member Functions 🌸

  • _EqualFromLess (_Compare &__comp) β€” the constructor, and it takes a reference to your _Compare (__comp) so it can hold onto the strict-weak-ordering situation.
  • bool operator() (const _T1 &__a, const _T2 &__b) β€” the actual call operator. you hand it __a and __b and it gives you back a bool. this is the main character of the whole class ngl πŸ‘‘

πŸ¦‹ Detailed Description πŸ¦‹

template<typename _T1, typename _T2, typename _Compare>
    class __gnu_parallel::_EqualFromLess< _T1, _T2, _Compare >

ok so the full declaration is that. and the class's quoted description is, verbatim, "Constructs predicate for equality from strict weak ordering predicate." like β€” it's a wrapper, it takes your ordering thing and re-serves it as an equality thing. slay. πŸ’…

heads up bestie: strict weak ordering is the whole deal here. this class builds equality out of it, so what "equal" even means is downstream of whatever your _Compare considers "less". that's the fact fr fr, don't come for me.

⭐ Member Typedef Documentation ⭐

πŸ’œ typedef _T1 std::binary_function< _T1 , _T2 , bool >::first_argument_type

[inherited] β€” first_argument_type is the type of the first argument. inherited from the std::binary_function< _T1, _T2, bool > parent, so it's not even doing its own work here, it's just vibing with the family's definition. πŸ‘‘

πŸ’œ typedef bool std::binary_function< _T1 , _T2 , bool >::result_type

[inherited] β€” result_type is the return type. also inherited. also just bool. also just vibing. 🫢

πŸ’œ typedef _T2 std::binary_function< _T1 , _T2 , bool >::second_argument_type

[inherited] β€” second_argument_type is the type of the second argument. third of three, all inherited, all accounted for. we love a complete set. ✨


πŸ“œ Author πŸ“œ

generated automatically by Doxygen for libstdc++ from the source code. so like… nobody hand-wrote this, it's a machine's magnum opus, and honestly? it ate. πŸ’€


ok that's the whole page bestie, no skipped sections, no missing options, we kept every single crumb πŸ“ and yeah β€” this lil' page is __gnu_parallel::_EqualFromLess< _T1, _T2, _Compare >(3cxx) from the libstdc++ manual, generated by Doxygen from the source code, and the footer doesn't hand us a date so I'm not gonna invent one for you πŸ™ˆ β€” k bye, go build something, periodt. πŸ’–βœ¨πŸŽ€