std::basic_string<ucp_t, CharTraitsTo, AllocatorTo> Chusov::String::u8_decode_string | ( | const BasicStringType & | str | ) |
Produces a C++ string of Unicode 11.0 code points from a C++ UTF-8 encoded string with custom char-traits and allocator classes. .
CharTraitsTo | specifies a CharTraits type used to instantiate the std::basic_string class in order to produce the output string. The std::char_traits<Chusov::String::ucp_t>
|
AllocatorTo | is a type of an Allocator used to instantiate the returned string object. The allocator is default-constructed. |
BasicStringType | is an instantiation of the std::basic_string or (C++17) std::basic_string_view standard templates for the type char . |
str | is a std::basic_string or (C++17) std::basic_string_view string object specialized for the char characters. |
u8_decode_string
(see below) allow omitting the specification of CharTraitsTo
and AllocatorTo
and use the traits and allocator templates of BasicStringType
respecialized for ucp_t
. BasicStringType
is an std::basic_string or (C++17) std::basic_string_view object with the traits_type
subtype be a template of one type argument. Use another template to decode a string stored within an arbitrary C++ Container. Chusov::Exceptions::InvalidCharSequenceException | The specified UTF-8 string is detected to contain an invalid or incomplete multi-byte UTF-8 character. |
AllocatorTo
specification and use an allocator obtained from rebinding of an allocator of the input string str
. AllocatorTo
but also allows omission of the CharTraitsTo
parameter and uses a CharTraits policy of str
respecialized for Chusov::String::ucp_t. str
.