Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::wstrin...t::converted(3) C++ Standard Libarystd::wstrin...t::converted(3)

NAME
       std::wstring_convert::converted - std::wstring_convert::converted

Synopsis
	  Defined in header <locale>
	  std::size_t converted() const	noexcept;

	  Returns  the	number of source characters that were processed	by the
       most recent
	  from_bytes() or to_bytes().

Return value
	  The number of	characters consumed by the most	recent conversion  op-
       eration.

Example
       // Run this code

	#include <iostream>
	#include <string>
	#include <locale>
	#include <codecvt>
	int main()
	{
	    std::string	utf8 =	u8"z\u00df\u6c34\U0001d10b"; //	or u8"z"
				//					    or
       "\x7a\xc3\x9f\xe6\xb0\xb4\xf0\x9d\x84\x8b";
	    std::cout << "original UTF-8 string	 size:	"  <<  utf8.size()  <<
       '\n';

	    // the UTF-8 - UTF-32 standard conversion facet
	    std::wstring_convert<std::codecvt_utf8<char32_t>, char32_t>	cvt;

	    // UTF-8 to	UTF-32
	    std::u32string utf32 = cvt.from_bytes(utf8);
	    std::cout << "UTF-32 string	size: "	<< utf32.size()	<< '\n';
	    std::cout << "converted() == " << cvt.converted() << '\n';
	    // UTF-32 to UTF-8
	    utf8 = cvt.to_bytes(utf32);
	    std::cout << "new UTF-8 string size: " << utf8.size() << '\n';
	    std::cout << "converted() == " << cvt.converted() << '\n';
	}

Output:
	original UTF-8 string size: 10
	UTF-32 string size: 4
	converted() == 10
	new UTF-8 string size: 10
	converted() == 4

	 Defect	reports

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

	     DR	      Applied	 to		    Behavior	as   published
       Correct behavior
	  LWG 2174 C++11      wstring_convert::converted was not  required  to
       required
			      be noexcept

See also
	  to_bytes   converts a	wide string into a byte	string
		     (public member function)
	  from_bytes converts a	byte string into a wide	string
		     (public member function)

http://cppreference.com		  2022.07.31	 std::wstrin...t::converted(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::wstring_convert::converted&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help