std::locale::id(3)

NAME
std::locale::id - Facet ID class.

SYNOPSIS

#include <locale>

  Public Member Functions
id ()
Constructor.
size_t _M_id () const throw ()

  Friends
template<typename _Facet> const _Facet * __try_use_facet (const locale &__loc)
template<typename _Facet> bool has_facet (const locale &__loc) throw ()
Test for the presence of a facet.
class locale
class locale::_Impl
template<typename _Facet> const _Facet & use_facet (const locale &__loc)
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. The locale::id ensures that each class type gets a unique identifier.

Constructor & Destructor Documentation

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

Constructor.

Friends And Related Symbol Documentation

  template<typename _Facet> bool has_facet (const locale & __loc) [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 & __loc) [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

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