std::locale::Impl Class Reference

Collaboration diagram for std::locale::Impl:

Collaboration graph
[legend]
List of all members.

Private Member Functions

void M_add_reference () throw ()
void M_remove_reference () throw ()
 Impl (const Impl &, size_t)
 Impl (const char *, size_t)
 Impl (size_t) throw ()
 ~Impl () throw ()
bool M_check_same_name ()
void M_replace_categories (const Impl *, category)
void M_replace_category (const Impl *, const locale::id *const *)
void M_replace_facet (const Impl *, const locale::id *)
void M_install_facet (const locale::id *, const facet *)
template<typename Facet>
void M_init_facet (Facet *__facet)
void M_install_cache (const facet *cache, size_t index) throw ()

Private Attributes

Atomic_word M_refcount
const facet ** M_facets
size_t M_facets_size
const facet ** M_caches
char ** M_names

Static Private Attributes

static const locale::id *const S_id_ctype []
static const locale::id *const S_id_numeric []
static const locale::id *const S_id_collate []
static const locale::id *const S_id_time []
static const locale::id *const S_id_monetary []
static const locale::id *const S_id_messages []
static const locale::id *const
*const 
S_facet_categories []

Friends

class locale
class locale::facet
struct __use_cache
template<typename Facet>
bool has_facet (const locale &) throw ()
 Test for the presence of a facet.
template<typename Facet>
const Facet & use_facet (const locale &)
 Return a facet.

Detailed Description

Definition at line 473 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:
Generated on Thu Mar 16 10:42:42 2006 for libstdc++-v3 Source by  doxygen 1.4.6