#include <locale_classes.h>
Public Member Functions | |
id () | |
Constructor. | |
size_t | M_id () const |
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 | ( | ) | [inline] |
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 85 of file locale_facets.tcc.
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 107 of file locale_facets.tcc.