std::_Refe...apper_base(3)

πŸ“¦ version 4.4.0, in nixpkgs unstable

πŸ’… std::_Refe...apper_base(3) πŸ’…

okay bestie so this is a Library Functions Manual page and it's lowkey from libstdc++ β€” welcome to the reference_wrapper_base lore, it's giving template metaprogramming main character energy ✨


🌸 NAME 🌸

std::_Reference_wrapper_base β€” no cap, that's the whole name, that's the whole vibe πŸŽ€


✨ SYNOPSIS ✨

The way that this thing inherits πŸ’…:

Inherits _Reference_wrapper_base_impl<
_Derives_from_unary_function<_Tp>::value,
_Derives_from_binary_function<_Tp>::value, _Tp>.

Like, it literally inherits from _Reference_wrapper_base_impl<...> and passes in those three things: whether _Tp derives from unary function, whether it derives from binary function, and _Tp itself. Obsessed 🫢


πŸ¦‹ Detailed Description πŸ¦‹

okay so the actual declaration is:

template<typename _Tp> struct std::_Reference_wrapper_base< _Tp >

and the ✨iconic✨ behaviour is: derives from unary_function or binary_function when it can. Periodt πŸŽ€

The specializations handle all of the easy cases β€” they ate that up, no crumbs πŸ’€ The primary template is the one that figures out what to do with a class type, and that class type may derive from both unary_function and binary_function at the same time. Which is a lot, but she handles it πŸ’…

also important, ngl: the definition lives at line 345 of file tr1_impl/functional πŸ“ β€” that's your vibe check location, bestie.

πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for libstdc++ from the source code. Not me writing it by hand β€” the robots did that, and honestly? slay πŸ€–βœ¨


so yeah, that's the whole page πŸ¦‹ this little gem is brought to you by libstdc++ and it's dated 21 Apr 2009, which is like, ancient in internet years but the facts still fr fr hold up πŸ’– bye bestie, go read them templates πŸ‘‘

πŸ“¦ where this page comes from