GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::locale::locale(3) C++ Standard Libary std::locale::locale(3)

std::locale::locale - std::locale::locale


Defined in header <locale>
locale() throw(); (until C++11)
locale() noexcept; (since C++11)
locale( const locale& other ) throw(); (until C++11)
locale( const locale& other ) noexcept; (since C++11)
explicit locale( const char* std_name ); (3)
explicit locale( const std::string& std_name ); (4) (since C++11)
locale( const locale& other, const char* (1) (5)
std_name, category cat ); (2)
locale( const locale& other, const std::string& (6) (since C++11)
std_name, category cat );
template< class Facet > (7)
locale( const locale& other, Facet* f );
locale( const locale& other, const locale& one, (8)
category cat );


Contstructs a new locale object.


1) Default constructor. Constructs a copy of the global C++ locale, which is the
locale most recently used as the argument to std::locale::global or a copy of
std::locale::classic if no call to std::locale::global has been made.
2) Copy constructor. Constructs a copy of other.
3-4) Constructs a copy of the system locale with specified std_name (such as "C", or
"POSIX", or "en_US.UTF-8", or "English_US.1251"), if such locale is supported by the
operating system. The locale constructed in this manner has a name.
5-6) Constructs a copy of other except for all the facets identified by the cat
argument, which are copied from the system locale identified by its std_name. The
locale constructed in this manner has a name if and only if other has a name.
7) Constructs a copy of other except for the facet of type Facet (typically deduced
from the type of the argument) which is installed from the argument facet. If facet
is a null pointer, the constructed locale is a full copy of other. The locale
constructed in this manner has no name.
8) Constructs a copy of other except for all the facets identified by the cat
argument, which are copied from one. If both other and one have names, then the
resulting locale also has a name.


other - another locale to copy
std_name - name of the system locale to use
f - pointer to a facet to merge with other
cat - the locale category used to identify the facets to merge with other
one - another locale to take facets from


3,5) std::runtime_error if the operating system has no locale named std_name or if
std_name is a null pointer.
4,6) std::runtime_error if the operating system has no locale named std_name.
7,8) May throw implementation-defined exceptions.


Overload 7 is typically called with its second argument, f, obtained directly from a
new-expression: the locale is responsible for calling the matching delete from its
own destructor.

// Run this code


#include <codecvt>
#include <iostream>
#include <locale>


std::ostream& operator<< (std::ostream& os, std::locale const& loc)
{
if (loc.name().length() <= 80) { return os << loc.name() << '\n'; }


for (const auto c : loc.name())
{
c != ';' ? os << c : os << "\n ";
}
return os << '\n';
}


int main()
{
std::locale l1;
// l1 is a copy of the classic "C" locale
std::locale l2("en_US.UTF-8");
// l2 is a unicode locale
std::locale l3(l1, l2, std::locale::ctype);
// l3 is "C" except for ctype, which is unicode
std::locale l4(l1, new std::codecvt_utf8<wchar_t>);
// l4 is "C" except for codecvt
std::cout
<< "Locale names:\n"
<< "l1: " << l1 << "l2: " << l2
<< "l3: " << l3 << "l4: " << l4;
}


Locale names:
l1: C
l2: en_US.UTF-8
l3: LC_CTYPE=en_US.UTF-8
LC_NUMERIC=C
LC_TIME=C
LC_COLLATE=C
LC_MONETARY=C
LC_MESSAGES=C
LC_PAPER=C
LC_NAME=C
LC_ADDRESS=C
LC_TELEPHONE=C
LC_MEASUREMENT=C
LC_IDENTIFICATION=C
l4: *


destructor destructs the locale and the facets whose reference count becomes zero
(public member function)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.