| 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.