libstdc++
std::messages< _CharT > Class Template Reference
Inheritance diagram for std::messages< _CharT >:

Public Types

typedef int catalog
 
typedef _CharT char_type
 
typedef basic_string< _CharT > string_type
 

Public Member Functions

 messages (size_t __refs=0)
 
 messages (__c_locale __cloc, const char *__s, size_t __refs=0)
 
void close (catalog __c) const
 
string_type get (catalog __c, int __set, int __msgid, const string_type &__s) const
 
catalog open (const basic_string< char > &__s, const locale &__loc) const
 
catalog open (const basic_string< char > &, const locale &, const char *) const
 

Static Public Attributes

static locale::id id
 

Protected Member Functions

virtual ~messages ()
 
string_type _M_convert_from_char (char *) const
 
char * _M_convert_to_char (const string_type &__msg) const
 
virtual void do_close (catalog) const
 
virtual string_type do_get (catalog, int, int, const string_type &__dfault) const
 
template<>
string do_get (catalog, int, int, const string &) const
 
template<>
wstring do_get (catalog, int, int, const wstring &) const
 
virtual catalog do_open (const basic_string< char > &, const locale &) const
 

Static Protected Member Functions

static __c_locale _S_clone_c_locale (__c_locale &__cloc) throw ()
 
static void _S_create_c_locale (__c_locale &__cloc, const char *__s, __c_locale __old=0)
 
static void _S_destroy_c_locale (__c_locale &__cloc)
 
static __c_locale _S_get_c_locale ()
 
static const char * _S_get_c_name () throw ()
 
static __c_locale _S_lc_ctype_c_locale (__c_locale __cloc, const char *__s)
 

Protected Attributes

__c_locale _M_c_locale_messages
 
const char * _M_name_messages
 

Detailed Description

template<typename _CharT>
class std::messages< _CharT >

Primary class template messages.

This facet encapsulates the code to retrieve messages from message catalogs. The only thing defined by the standard for this facet is the interface. All underlying functionality is implementation-defined.

This library currently implements 3 versions of the message facet. The first version (gnu) is a wrapper around gettext, provided by libintl. The second version (ieee) is a wrapper around catgets. The final version (default) does no actual translation. These implementations are only provided for char and wchar_t instantiations.

The messages template uses protected virtual functions to provide the actual results. The public accessors forward the call to the virtual functions. These virtual functions are hooks for developers to implement the behavior they require from the messages facet.

Definition at line 1695 of file locale_facets_nonio.h.

Member Typedef Documentation

template<typename _CharT >
typedef _CharT std::messages< _CharT >::char_type

Public typedefs.

Definition at line 1701 of file locale_facets_nonio.h.

template<typename _CharT >
typedef basic_string<_CharT> std::messages< _CharT >::string_type

Public typedefs.

Definition at line 1702 of file locale_facets_nonio.h.

Constructor & Destructor Documentation

template<typename _CharT >
std::messages< _CharT >::messages ( size_t  __refs = 0)
explicit

Constructor performs initialization.

This is the constructor provided by the standard.

Parameters
refsPassed to the base facet class.

Definition at line 45 of file messages_members.h.

template<typename _CharT >
std::messages< _CharT >::messages ( __c_locale  __cloc,
const char *  __s,
size_t  __refs = 0 
)
explicit

Internal constructor. Not for general use.

This is a constructor for use by the library itself to set up new locales.

Parameters
clocThe C locale.
sThe name of a locale.
refsRefcount to pass to the base class.

Definition at line 51 of file messages_members.h.

template<typename _CharT >
std::messages< _CharT >::~messages ( )
protectedvirtual

Destructor.

Definition at line 80 of file messages_members.h.

Member Data Documentation

template<typename _CharT >
locale::id std::messages< _CharT >::id
static

Numpunct facet id.

Definition at line 1713 of file locale_facets_nonio.h.


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