std::locale::_Impl Class Reference

#include <locale_classes.h>

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 ()
 _Impl (const _Impl &)
void operator= (const _Impl &)
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 *, size_t)

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.


Constructor & Destructor Documentation

std::locale::_Impl::_Impl ( const _Impl ,
size_t   
) [private]

std::locale::_Impl::_Impl ( const char *  ,
size_t   
) [private]

std::locale::_Impl::_Impl ( size_t   )  throw () [private]

std::locale::_Impl::~_Impl (  )  throw () [private]

std::locale::_Impl::_Impl ( const _Impl  )  [private]


Member Function Documentation

void std::locale::_Impl::_M_add_reference (  )  throw () [inline, private]

Definition at line 507 of file locale_classes.h.

bool std::locale::_Impl::_M_check_same_name (  )  [inline, private]

Definition at line 534 of file locale_classes.h.

References std::locale::_S_categories_size.

template<typename _Facet>
void std::locale::_Impl::_M_init_facet ( _Facet *  __facet  )  [inline, private]

Definition at line 558 of file locale_classes.h.

void std::locale::_Impl::_M_install_cache ( const facet ,
size_t   
) [private]

void std::locale::_Impl::_M_install_facet ( const locale::id ,
const facet  
) [private]

Referenced by std::locale::locale().

void std::locale::_Impl::_M_remove_reference (  )  throw () [inline, private]

Definition at line 511 of file locale_classes.h.

Referenced by std::locale::combine(), and std::locale::locale().

void std::locale::_Impl::_M_replace_categories ( const _Impl ,
category   
) [private]

void std::locale::_Impl::_M_replace_category ( const _Impl ,
const locale::id *const *   
) [private]

void std::locale::_Impl::_M_replace_facet ( const _Impl ,
const locale::id  
) [private]

Referenced by std::locale::combine().

void std::locale::_Impl::operator= ( const _Impl  )  [private]


Friends And Related Function Documentation

friend struct __use_cache [friend]

Definition at line 489 of file locale_classes.h.

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 88 of file locale_facets.tcc.

friend class locale [friend]

Definition at line 477 of file locale_classes.h.

friend class locale::facet [friend]

Definition at line 478 of file locale_classes.h.

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 110 of file locale_facets.tcc.


Member Data Documentation

const facet** std::locale::_Impl::_M_caches [private]

Definition at line 496 of file locale_classes.h.

const facet** std::locale::_Impl::_M_facets [private]

Definition at line 494 of file locale_classes.h.

size_t std::locale::_Impl::_M_facets_size [private]

Definition at line 495 of file locale_classes.h.

char** std::locale::_Impl::_M_names [private]

Definition at line 497 of file locale_classes.h.

Referenced by std::locale::locale().

_Atomic_word std::locale::_Impl::_M_refcount [private]

Definition at line 493 of file locale_classes.h.

const locale::id* const* const std::locale::_Impl::_S_facet_categories[] [static, private]

Definition at line 504 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_collate[] [static, private]

Definition at line 500 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_ctype[] [static, private]

Definition at line 498 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_messages[] [static, private]

Definition at line 503 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_monetary[] [static, private]

Definition at line 502 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_numeric[] [static, private]

Definition at line 499 of file locale_classes.h.

const locale::id* const std::locale::_Impl::_S_id_time[] [static, private]

Definition at line 501 of file locale_classes.h.


The documentation for this class was generated from the following file:
Generated on Tue Feb 2 16:58:59 2010 for GNU C++ STL by  doxygen 1.4.7