chsvlib
chsv helper source code

◆ u8_decode_string() [4/8]

std::basic_string<ucp_t, ReboundCharTraits, ReboundAllocator> 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. .

Template Parameters
BasicStringTypeis an instantiation of the std::basic_string or (C++17) std::basic_string_view standard templates for the type char.
Parameters
stris a std::basic_string or (C++17) std::basic_string_view string object specialized for the char characters.
Returns
A newly created string, an instantiation of std::basic_string, with Unicode 11.0 code points as its elements along with implementations a CharTraits policy and an Allocator respectively obtained from respecializing the
typename BasicStringType::traits_type
template and rebinding the
typename BasicStringType::allocator_type
for the type Chusov::String::ucp_t. If the type of BasicStringType is std::basic_string_view,
std::allocator<Chusov::String::ucp_t>
is used as the allocator instead. Other overloads of u8_decode_string (see below) allow custom specification of the used Allocator and/or CharTraits.
Note
This overload does not participate in the overload resolution unless 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.
Exceptions
Chusov::Exceptions::InvalidCharSequenceExceptionThe specified UTF-8 string is detected to contain an invalid or incomplete multi-byte UTF-8 character.
See also
u8_decode_string An overload which requires specification of a custom CharTraits policy used by the returned string.
u8_decode_string An overload which requires specification of an Allocator for use by the returned string.
u8_decode_string Another overload which requires custom specification of both the traits policy and the type of the allocator.