SYNOPSIS

Classes

class facet

class id

Public Types

typedef int category

Public Member Functions

locale () throw ()

locale (const locale &__other) throw ()

locale (const char *__s)

locale (const locale &__base, const char *__s, category __cat)

locale (const locale &__base, const locale &__add, category __cat)

template<typename _Facet > locale (const locale &__other, _Facet *__f)

~locale () throw ()

template<typename _Facet > locale combine (const locale &__other) const

string name () const

bool operator!= (const locale &__other) const throw ()

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 ()

Static Public Member Functions

static const locale & classic ()

static locale global (const locale &__loc)

Static Public Attributes

static const category none

static const category ctype

static const category numeric

static const category collate

static const category time

static const category monetary

static const category messages

static const category all

Friends

template<typename _Cache > 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 62 of file locale_classes.h.

Member Typedef Documentation

typedef int \fBstd::locale::category\fP

Definition of locale::category.

Definition at line 67 of file locale_classes.h.

Constructor & Destructor Documentation

std::locale::locale ()

Default constructor. Constructs a copy of the global locale. If no locale has been explicitly set, this is the C locale.

std::locale::locale (const \fBlocale\fP &__other)

Copy constructor. Constructs a copy of other.

Parameters:

__other The locale to copy.

std::locale::locale (const char *__s)\fC [explicit]\fP

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 \fBlocale\fP &__base, const char *__s, \fBcategory\fP__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 \fBlocale\fP &__base, const \fBlocale\fP &__add, \fBcategory\fP__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 \fBlocale\fP &__other, _Facet *__f)

Construct locale with another facet. Constructs a copy of the locale __other. The facet __f is added to __other, replacing an existing facet of type Facet if there is one. If __f is null, this locale is a copy of __other.

Parameters:

__other The locale to copy.

__f The facet to add in.

std::locale::~locale ()

Locale destructor.

Member Function Documentation

static const \fBlocale\fP& std::locale::classic ()\fC [static]\fP

Return reference to the C locale.

template<typename _Facet > \fBlocale\fP std::locale::combine (const \fBlocale\fP &__other) const

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.

Template Parameters:

_Facet The facet type to copy from other

Parameters:

__other The locale to copy from.

Returns:

Newly constructed locale.

Exceptions:

std::runtime_error if __other has no facet of type _Facet.

static \fBlocale\fP std::locale::global (const \fBlocale\fP &__loc)\fC [static]\fP

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:

__loc The new locale to make global.

Returns:

Copy of the old global locale.

\fBstring\fP std::locale::name () const

Return locale name.

Returns:

Locale name or '*' if unnamed.

bool std::locale::operator!= (const \fBlocale\fP &__other) const\fC [inline]\fP

Locale inequality.

Parameters:

__other The locale to compare against.

Returns:

! (*this == __other)

Definition at line 235 of file locale_classes.h.

References operator==().

template<typename _Char , typename _Traits , typename _Alloc > bool std::locale::operator() (const \fBbasic_string\fP< _Char, _Traits, _Alloc > &__s1, const \fBbasic_string\fP< _Char, _Traits, _Alloc > &__s2) const

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 \fBlocale\fP& std::locale::operator= (const \fBlocale\fP &__other)

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 \fBlocale\fP &__other) const

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.

Referenced by operator!=().

Member Data Documentation

const \fBcategory\fP std::locale::all\fC [static]\fP

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

const \fBcategory\fP std::locale::collate\fC [static]\fP

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.

const \fBcategory\fP std::locale::ctype\fC [static]\fP

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 \fBcategory\fP std::locale::messages\fC [static]\fP

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 \fBcategory\fP std::locale::monetary\fC [static]\fP

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 \fBcategory\fP std::locale::none\fC [static]\fP

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 \fBcategory\fP std::locale::numeric\fC [static]\fP

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 \fBcategory\fP std::locale::time\fC [static]\fP

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.

Author

Generated automatically by Doxygen for libstdc++ from the source code.