std::locale_id (3) - Linux Man Pages


std::locale::id -


Public Member Functions

id ()

size_t _M_id () const throw ()


template<typename _Facet > bool has_facet (const locale &) throw ()

class locale

class locale::_Impl

template<typename _Facet > const _Facet & use_facet (const locale &)

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.

Definition at line 436 of file locale_classes.h.

Constructor & Destructor Documentation

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


Definition at line 467 of file locale_classes.h.

Friends And Related Function Documentation

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.


__loc The locale to test.


true if __loc contains a facet of type _Facet, else false.

Definition at line 104 of file locale_classes.tcc.

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.


__loc The locale to use.


Reference to facet of type Facet.


std::bad_cast if __loc doesn't contain a facet of type _Facet.

Definition at line 132 of file locale_classes.tcc.


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