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::wstring_convert::wstring_convert(3) C++ Standard Libary std::wstring_convert::wstring_convert(3)

std::wstring_convert::wstring_convert - std::wstring_convert::wstring_convert


wstring_convert() : wstring_convert( new Codecvt ) { } (1)
explicit wstring_convert( Codecvt* pcvt ); (2)
wstring_convert( Codecvt* pcvt, state_type state); (3)
explicit wstring_convert( const byte_string& byte_err, (4)
const wide_string& wide_err = wide_string() );
wstring_convert(const std::wstring_convert&) = delete; (5) (since C++14)


1) Default constructor.
2) Constructs the wstring_convert object with a specified conversion facet, using
default-constructed values for the shift state and the error strings
3) Constructs the wstring_convert object with a specified conversion facet and
specified shift state, using default-constructed values for the error strings
4) Constructs the wstring_convert object with specified error strings, using new
Codecvt as the conversion facet and the default-constructed state_type as shift
state.
5) The copy constructor is deleted, wstring_convert is not CopyConstructible


pcvt - pointer to the conversion facet of type Codecvt (behavior is undefined if
this pointer is null)
state - initial value of the conversion shift state
byte_err - narrow string to display on errors
wide_err - wide string to display on errors


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
P0935R0 C++11 default constructor was explicit made implicit

// Run this code


#include <locale>
#include <utility>
#include <codecvt>


// utility wrapper to adapt locale-bound facets for wstring/wbuffer convert
template<class Facet>
struct deletable_facet : Facet
{
using Facet::Facet; // inherit constructors
~deletable_facet() {}
};


int main()
{
// UTF-16le / UCS4 conversion
std::wstring_convert<
std::codecvt_utf16<char32_t, 0x10ffff, std::little_endian>
> u16to32;


// UTF-8 / wide string conversion with custom messages
std::wstring_convert<std::codecvt_utf8<wchar_t>> u8towide("Error!", L"Error!");


// GB18030 / wide string conversion facet
typedef deletable_facet<std::codecvt_byname<wchar_t, char, std::mbstate_t>> F;
std::wstring_convert<F> gbtowide(new F("zh_CN.gb18030"));
}

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.