__GNU_CXX::PROJECT1ST(3cxx)

🌸 NAME 🌸

okay so this is the __gnu_cxx::project1st< _Arg1, _Arg2 >(3cxx) page β€” the manual name is 3cxx, folded right in here, bestie. The main character is __gnu_cxx::project1st< _Arg1, _Arg2 >, and the description is An SGI extension . πŸ’…. It's giving old-school SGI extension energy, no cap.

✨ SYNOPSIS ✨

Here's the whole synopsis vibe, untouched:

#include <functional>

Inherits __gnu_cxx::_Project1st< _Arg1, _Arg2 >.

πŸ’– Public Types πŸ’–

  • typedef _Arg1 first_argument_type β€” first_argument_type is the type of the first argument 🫢
  • typedef _Arg1 result_type β€” result_type is the return type ⭐
  • typedef _Arg2 second_argument_type β€” second_argument_type is the type of the second argument πŸ¦‹

🫢 Public Member Functions 🫢

  • _Arg1 operator() (const _Arg1 &__x, const _Arg2 &) const β€” this is the whole signature, periodt. Keep __x and the unnamed const _Arg2 & exactly as written πŸ’…

πŸ¦‹ Detailed Description πŸ¦‹

okay this part is lowkey feral in the source, because the template line and the description are mashed together with a quote mark. Here it is, untouched:

template<class _Arg1, class _Arg2>
    struct __gnu_cxx::project1st< _Arg1, _Arg2 >"An SGI extension .

So yes: template<class _Arg1, class _Arg2> declares the template, struct __gnu_cxx::project1st< _Arg1, _Arg2 > is the struct, and An SGI extension . is the description. The quote mark is literally there β€” do not come for me, I did not invent it 😭πŸ”₯

πŸŽ€ Member Typedef Documentation πŸŽ€

πŸ’œ first_argument_type (inherited)

typedef _Arg1 std::binary_function< _Arg1, _Arg2, _Arg1
    >::first_argument_type [inherited]

and the doc line is first_argument_type is the type of the first argument 🫢 inherited energy, slay.

⭐ result_type (inherited)

typedef _Arg1  std::binary_function< _Arg1, _Arg2, _Arg1  >::result_type
    [inherited]

and the doc line is result_type is the return type ⭐ inherited again, periodt. The double spaces are part of the source vibe β€” leave them be, bestie 🫢

πŸ¦‹ second_argument_type (inherited)

typedef _Arg2 std::binary_function< _Arg1, _Arg2, _Arg1
    >::second_argument_type [inherited]

and the doc line is second_argument_type is the type of the second argument πŸ¦‹ inherited one more time, iconic.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for libstdc++ from the source code.

No human author credit here β€” Doxygen did the lil generation thing for libstdc++ from the source code πŸ‘‘βœ¨

kiss kiss πŸ’– this page is from the libstdc++ 3cxx manual; source/version info is libstdc++ + Doxygen, and the original footer has no date line β€” just the libstd__gnu_cxx::pro... _Arg1, _Arg2 >(3cxx) footer tag. Bye bestie, stay compiled 🌈πŸ’