STD::_ENABLE_SPECIAL_MEMBERS(3cxx)

πŸ’– NAME πŸ’–

std::_Enable_special_members< _Default, _Destructor, _Copy, _CopyAssignment, _Move, _MoveAssignment, _Tag > β€” bestie, it's a mixin helper that conditionally enables or disables the special members ✨ no cap.


πŸ¦‹ SYNOPSIS πŸ¦‹

#include <enable_special_members.h>

It inherits from std::_Enable_default_constructor< _Switch, _Tag >, std::_Enable_destructor< _Switch, _Tag >, and std::_Enable_copy_move< _Copy, _CopyAssignment, _Move, _MoveAssignment, _Tag >. it's giving inheritance moment πŸ’…


🌸 Detailed Description 🌸

okay so here's the whole vibe:

template<bool _Default, bool _Destructor, bool _Copy, bool _CopyAssignment,
    bool _Move, bool _MoveAssignment, typename _Tag = void>
    struct std::_Enable_special_members< _Default, _Destructor, _Copy,
    _CopyAssignment, _Move, _MoveAssignment, _Tag >

and literally what it is: a mixin helper to conditionally enable or disable the special members πŸ”₯

and the tea on _Tag: that type parameter exists so the mixin bases stay unique, which is how you dodge ambiguities. iconic behavior honestly πŸ‘‘


πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for libstdc++ from the source code. not a human wrote this one, it's a robot's roman empire πŸ™ˆ


so yeah bestie, that's the whole page from the 3cxx manual, auto-slapped together by Doxygen for libstdc++ straight from the source code πŸ’œ mwah, go compile something cute 🫢

πŸ“¦ where this page comes from