#include <locale_classes.h>
Public Member Functions | |
id () | |
Constructor. | |
size_t | _M_id () const |
Private Member Functions | |
void | operator= (const id &) |
id (const id &) | |
Private Attributes | |
size_t | _M_index |
Static Private Attributes | |
static _Atomic_word | _S_refcount |
Friends | |
class | locale |
class | locale::_Impl |
template<typename _Facet> | |
const _Facet & | use_facet (const locale &) |
Return a facet. | |
template<typename _Facet> | |
bool | has_facet (const locale &) throw () |
Test for the presence of a facet. |
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 434 of file locale_classes.h.
std::locale::id::id | ( | const id & | ) | [private] |
std::locale::id::id | ( | ) | [inline] |
size_t std::locale::id::_M_id | ( | ) | const |
void std::locale::id::operator= | ( | const id & | ) | [private] |
bool has_facet | ( | const locale & | __loc | ) | throw () [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.
Facet | The facet type to test the presence of. | |
locale | The locale to test. |
Definition at line 88 of file locale_facets.tcc.
friend class locale [friend] |
Definition at line 437 of file locale_classes.h.
friend class locale::_Impl [friend] |
Definition at line 438 of file locale_classes.h.
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.
Facet | The facet type to access. | |
locale | The locale to use. |
std::bad_cast | if locale doesn't contain a facet of type Facet. |
Definition at line 110 of file locale_facets.tcc.
size_t std::locale::id::_M_index [mutable, private] |
Definition at line 451 of file locale_classes.h.
_Atomic_word std::locale::id::_S_refcount [static, private] |
Definition at line 454 of file locale_classes.h.