std::locale::facet(3cxx)

🌸 NAME 🌸

Okay bestie, this is the std::locale::facet(3cxx) page β€” the C++ localization base-class moment. Its whole vibe is: localization functionality base class. πŸ’…

✨ SYNOPSIS ✨

#include <locale>

And it gets inherited by a whole little icon army. Here’s the exact roster, no cap:

Inherited by std::__codecvt_abstract_base< _InternT, _ExternT,
       encoding_state >, std::__codecvt_abstract_base< char, char, mbstate_t >,
       std::__codecvt_abstract_base< char16_t, char, mbstate_t >,
       std::__codecvt_abstract_base< char32_t, char, mbstate_t >,
       std::__codecvt_abstract_base< wchar_t, char, mbstate_t >,
       std::__codecvt_abstract_base< _Elem, char, mbstate_t >,
       std::__ctype_abstract_base< wchar_t >, std::__codecvt_abstract_base<
       _InternT, _ExternT, _StateT >, std::__ctype_abstract_base< _CharT >,
       std::__moneypunct_cache< _CharT, _Intl >, std::__numpunct_cache< _CharT
       >, std::__timepunct< _CharT >, std::__timepunct_cache< _CharT >,
       std::collate< _CharT >, std::ctype< char >, std::messages< _CharT >,
       std::money_get< _CharT, _InIter >, std::money_put< _CharT, _OutIter >,
       std::moneypunct< _CharT, _Intl >, std::num_get< _CharT, _InIter >,
       std::num_put< _CharT, _OutIter >, std::numpunct< _CharT >,
       std::time_get< _CharT, _InIter >, and std::time_put< _CharT, _OutIter >.

πŸ›‘οΈ Protected Member Functions

  • facet (const facet &)=delete β€” copying is deleted, bestie. Not today.
  • facet (size_t __refs=0) throw () β€” the facet constructor. We get into it below.
  • virtual ~facet () β€” the facet destructor.
  • facet & operator= (const facet &)=delete β€” assignment is also deleted. It said no thank you.

🌟 Static Protected Member Functions

These are the static protected squad. The original didn’t hand each one a lil blurb, so I’m keeping the signatures exact and not inventing fake lore:

  • static __c_locale _S_clone_c_locale (__c_locale &__cloc) throw ()
  • static void _S_create_c_locale (__c_locale &__cloc, const char *__s, __c_locale __old=0)
  • static void _S_destroy_c_locale (__c_locale &__cloc)
  • static __c_locale _S_get_c_locale ()
  • static const char * _S_get_c_name () throw ()
  • static __c_locale _S_lc_ctype_c_locale (__c_locale __cloc, const char *__s)

🫢 Friends

  • class locale
  • class locale::_Impl

πŸ“– Detailed Description

Localization functionality base class. That’s the headline, and it’s literally the whole point.

The facet class is the base class for a localization feature, such as money, time, and number printing. It provides common support for facets and reference management. Very infrastructure. Very behind-the-scenes main character energy. ✨

Facets may not be copied or assigned. That’s a hard no, bestie. 🚫

πŸ› οΈ Constructor & Destructor Documentation

πŸŽ€ std::locale::facet::facet (size_t __refs = 0) [inline], [explicit], [protected]

Facet constructor. This is the constructor provided by the standard. If refs is 0, the facet is destroyed when the last referencing locale is destroyed. Otherwise the facet will never be destroyed. So yeah, that reference count is kind of a big deal. πŸ’…

πŸ’Œ Parameters

  • __refs β€” The initial value for reference count.

πŸŽ€ virtual std::locale::facet::~facet () [protected], [virtual]

Facet destructor. Short, sweet, and virtual. πŸŽ€


πŸ‘‘ Author

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

Source/version: libstdc++ Β· page: std::locale::facet(3cxx) Β· date: not shown on the original page, so I’m not inventing one. Bye bestie! πŸ’…βœ¨

πŸ“¦ where this page comes from