chsvlib
chsv helper source code

◆ u8_encode_string() [4/8]

std::basic_string<char, ReboundCharTraits, ReboundAllocator> Chusov::String::u8_encode_string ( const BasicStringType &  str)

Converts a given C++ string of Unicode code points to the corresponding UTF-8 representation. .

Template Parameters
BasicStringTypeis an instantiation of the std::basic_string or (C++17) std::basic_string_view standard templates for the type Chusov::String::ucp_t.
Parameters
stris an std::basic_string or (C++17) std::basic_string_view string object specialized for the Chusov::String::ucp_t characters.
Returns
A newly created string, an instantiation of std::basic_string, holding a multibyte UTF-8 representation of str with the an Allocator and a CharTraits policy which are respecializations of
typename BasicStringType::traits_type
and
typename BasicStringType::allocator_type
for the type char. If the type of BasicStringType is std::basic_string_view,
std::allocator<char>
is used as the allocator instead. Other overloads of u8_encode_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 encode a string stored within an arbitrary C++ Container.
Exceptions
Chusov::Exceptions::InvalidCharSequenceExceptionThe str is detected to contain an invalid Chusov::String::ucp_t code point.
See also
ucp_string An alias for the standard std::basic_string template with the standard std::char_traits and std::allocator but specialized for Chusov::String::ucp_t.
u8_encode_string Another overload which allows specification of both the traits policy and the type of the allocator used by the returned string.