std::locale::id(3cxx)

🌸 NAME 🌸

okay so welcome to the std::locale::id(3cxx) page, bestie β€” this one is all about std::locale::id, aka the Facet ID class ✨. No cap, it’s the tiny backstage-pass class that gives locale facets their unique ID energy πŸ’….


✨ SYNOPSIS ✨

#include <locale>

πŸŽ€ Public Member Functions πŸŽ€

  • id () β€” Constructor. That’s it, that’s the whole vibe.
  • size_t _M_id () const throw () β€” no description attached in the source, so we’re respecting the mystery 🫢. The exact signature stays exactly as written.

πŸ¦‹ Friends πŸ¦‹

  • template<typename _Facet > const _Facet * __try_use_facet (const locale &) noexcept β€” friend of the ID class, with its noexcept energy intact.
  • template<typename _Facet > bool has_facet (const locale &) throw () β€” Test for the presence of a facet.
  • class locale β€” friend of the ID class.
  • class locale::_Impl β€” also a friend.
  • template<typename _Facet > const _Facet & use_facet (const locale &) β€” Return a facet.

πŸ’œ Detailed Description πŸ’œ

Facet ID class.

The ID class provides facets with an index used to identify them. Every facet class must define a public static member locale::id, or be derived from a facet that provides this member, otherwise the facet cannot be used in a locale. And the locale::id ensures that each class type gets a unique identifier. periodt πŸ’….


🧚 Constructor & Destructor Documentation 🧚

🌸 std::locale::id::id () [inline] 🌸

Constructor. Short, sweet, iconic.


⭐ template<typename _Facet > bool has_facet (const locale &) [friend] ⭐

Test for the presence of a facet. has_facet tests the locale argument for the presence of the facet type provided as the template parameter. Facets derived from the facet parameter will also return true πŸ’–.

  • Template Parameters
    • _Facet β€” The facet type to test the presence of.
  • Parameters
    • __loc β€” The locale to test.
  • Returns
    • true if __loc contains a facet of type _Facet, else false.

πŸ’« template<typename _Facet > const _Facet & use_facet (const locale &) [friend] πŸ’«

Return a facet. use_facet looks for and returns a reference to a facet of type Facet where Facet is the template parameter. If has_facet(locale) is true, there is a suitable facet to return. It throws std::bad_cast if the locale doesn’t contain a facet of type Facet 😭.

  • Template Parameters
    • _Facet β€” The facet type to access.
  • Parameters
    • __loc β€” The locale to use.
  • Returns
    • Reference to facet of type Facet.
  • Exceptions
    • std::bad_cast if __loc doesn’t contain a facet of type _Facet.

πŸ‘‘ Author πŸ‘‘

This page was generated automatically by Doxygen for libstdc++ from the source code. Not me hand-writing it at 3am, but I’m still giving it main character energy πŸ’….


signed off with love by libstdc++ β€” that’s the source/version β€” and the page is std::locale::id(3cxx); the footer doesn’t print a date, so we’re calling it timeless 🫢✨

πŸ“¦ where this page comes from