# std::locale::id Class Reference

Facet ID class. More...

`#include <locale_classes.h>`

List of all members.

## Public Member Functions

| id ()
| Constructor.

## Friends

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.

## 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 434 of file locale_classes.h.

## Constructor & Destructor Documentation

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

| Constructor. Definition at line 465 of file locale_classes.h.

## Friends And Related Function Documentation

template<typename Facet>
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.

Parameters:

  | Facet | The facet type to test the presence of.
  | locale | The locale to test.

Returns:
  true if locale contains a facet of type Facet, else false.

Definition at line 85 of file locale_facets.tcc.

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.

Parameters:

  | Facet | The facet type to access.
  | locale | The locale to use.

Returns:
  Reference to facet of type Facet.

Exceptions:

  | std::bad_cast | if locale doesn't contain a facet of type Facet.

Definition at line 107 of file locale_facets.tcc.

The documentation for this class was generated from the following files:

- locale_classes.h
- locale.cc