std::locale(3)std::locale(3)NAMEstd::locale-
Container class for localization functionality.
SYNOPSIS
Classes
class facet
Localization functionality base class.
class id
Facet ID class.
Public Types
typedef int category
Public Member Functions
template<typename _Facet > locale combine (const locale &__other) const
template<typename _Facet > locale (const locale &__other, _Facet *__f)
locale (const locale &__base, const locale &__add, category __cat)
locale (const locale &__base, const char *__s, category __cat)
locale (const char *__s)
locale (const locale &__other) throw ()
locale () throw ()
string name () const
bool operator!= (const locale &__other) const throw ()
template<typename _CharT , typename _Traits , typename _Alloc > bool
operator() (const basic_string< _CharT, _Traits, _Alloc > &__s1,
const basic_string< _CharT, _Traits, _Alloc > &__s2) const
template<typename _Char , typename _Traits , typename _Alloc > bool
operator() (const basic_string< _Char, _Traits, _Alloc > &__s1,
const basic_string< _Char, _Traits, _Alloc > &__s2) const
const locale & operator= (const locale &__other) throw ()
bool operator== (const locale &__other) const throw ()
~locale () throw ()
Static Public Member Functions
static const locale & classic ()
static locale global (const locale &)
Static Public Attributes
static const category all
static const category collate
static const category ctype
static const category messages
static const category monetary
static const category none
static const category numeric
static const category time
Friends
struct __use_cache
class _Impl
class facet
template<typename _Facet > bool has_facet (const locale &) throw ()
template<typename _Facet > const _Facet & use_facet (const locale &)
Detailed Description
Container class for localization functionality.
The locale class is first a class wrapper for C library locales. It is
also an extensible container for user-defined localization. A locale is
a collection of facets that implement various localization features
such as money, time, and number printing.
Constructing C++ locales does not change the C library locale.
This library supports efficient construction and copying of locales
through a reference counting implementation of the locale class.
Definition at line 61 of file locale_classes.h.
Member Typedef Documentation
typedef int std::locale::category
Definition of locale::category.
Definition at line 66 of file locale_classes.h.
Constructor & Destructor Documentation
std::locale::locale () throw ()
Default constructor. Constructs a copy of the global locale. If no
locale has been explicitly set, this is the 'C' locale.
Referenced by combine().
std::locale::locale (const locale & __other) throw ()
Copy constructor. Constructs a copy of other.
Parameters:
other The locale to copy.
std::locale::locale (const char * __s) [explicit]
Named locale constructor. Constructs a copy of the named C library
locale.
Parameters:
s Name of the locale to construct.
Exceptions:
std::runtime_error if s is null or an undefined locale.
std::locale::locale (const locale & __base, const char * __s, category
__cat)
Construct locale with facets from another locale. Constructs a copy of
the locale base. The facets specified by cat are replaced with those
from the locale named by s. If base is named, this locale instance will
also be named.
Parameters:
base The locale to copy.
s Name of the locale to use facets from.
cat Set of categories defining the facets to use from s.
Exceptions:
std::runtime_error if s is null or an undefined locale.
std::locale::locale (const locale & __base, const locale & __add, category
__cat)
Construct locale with facets from another locale. Constructs a copy of
the locale base. The facets specified by cat are replaced with those
from the locale add. If base and add are named, this locale instance
will also be named.
Parameters:
base The locale to copy.
add The locale to use facets from.
cat Set of categories defining the facets to use from add.
template<typename _Facet > std::locale::locale (const locale & __other,
_Facet * __f) [inline]
Construct locale with another facet. Constructs a copy of the locale
other. The facet is added to , replacing an existing facet of type
Facet if there is one. If is null, this locale is a copy of other.
Parameters:
other The locale to copy.
f The facet to add in.
Definition at line 43 of file locale_classes.tcc.
std::locale::~locale () throw ()
Locale destructor.
Member Function Documentation
static const locale& std::locale::classic () [static]
Return reference to the 'C' locale.
template<typename _Facet > locale std::locale::combine (const locale &
__other) const [inline]
Construct locale with another facet. Constructs and returns a new copy
of this locale. Adds or replaces an existing facet of type Facet from
the locale other into the new locale.
Parameters:
Facet The facet type to copy from other
other The locale to copy from.
Returns:
Newly constructed locale.
Exceptions:
std::runtime_error if other has no facet of type Facet.
Definition at line 61 of file locale_classes.tcc.
References locale().
static locale std::locale::global (const locale &) [static]
Set global locale. This function sets the global locale to the argument
and returns a copy of the previous global locale. If the argument has a
name, it will also call std::setlocale(LC_ALL, loc.name()).
Parameters:
locale The new locale to make global.
Returns:
Copy of the old global locale.
string std::locale::name () const
Return locale name. Returns:
Locale name or '*' if unnamed.
bool std::locale::operator!= (const locale & __other) const throw ()
[inline]
Locale inequality. Parameters:
other The locale to compare against.
Returns:
! (*this == other)
Definition at line 233 of file locale_classes.h.
template<typename _Char , typename _Traits , typename _Alloc > bool
std::locale::operator() (const basic_string< _Char, _Traits, _Alloc > &
__s1, const basic_string< _Char, _Traits, _Alloc > & __s2) const
[inline]
Compare two strings according to collate. Template operator to compare
two strings using the compare function of the collate facet in this
locale. One use is to provide the locale to the sort function. For
example, a vector v of strings could be sorted according to locale loc
by doing:
std::sort(v.begin(), v.end(), loc);
Parameters:
s1 First string to compare.
s2 Second string to compare.
Returns:
True if collate<Char> facet compares s1 < s2, else false.
const locale& std::locale::operator= (const locale & __other) throw ()
Assignment operator. Set this locale to be a copy of other.
Parameters:
other The locale to copy.
Returns:
A reference to this locale.
bool std::locale::operator== (const locale & __other) const throw ()
Locale equality. Parameters:
other The locale to compare against.
Returns:
True if other and this refer to the same locale instance, are
copies, or have the same name. False otherwise.
Member Data Documentation
const category std::locale::all [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 104 of file locale_classes.h.
const category std::locale::collate [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 100 of file locale_classes.h.
const category std::locale::ctype [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 98 of file locale_classes.h.
const category std::locale::messages [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 103 of file locale_classes.h.
const category std::locale::monetary [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 102 of file locale_classes.h.
const category std::locale::none [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 97 of file locale_classes.h.
const category std::locale::numeric [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 99 of file locale_classes.h.
const category std::locale::time [static]
Category values. The standard category values are none, ctype, numeric,
collate, time, monetary, and messages. They form a bitmask that
supports union and intersection. The category all is the union of these
values.
NB: Order must match _S_facet_categories definition in locale.cc
Definition at line 101 of file locale_classes.h.
Author
Generated automatically by Doxygen for libstdc++ from the source code.
libstdc++ 22 Nov 2013 std::locale(3)