1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi"). 9 CPPX_USE_STD( basic_string, basic_string_view, iterator_traits, move,
next,
string, string_view );
11 template<
class Char >
18 if constexpr( is_a_byte_char_type_<Char> )
20 return string( ws.begin(), ws.end() );
30 template<
class Char >
33 {
return from_string_view<Char>( s ); }
35 template<
class Char >
36 inline auto from(
const basic_string<Char>& s )
38 {
return from_string_view<Char>( s ); }
40 inline auto from(
string s )
44 template<
class Char >
45 inline auto from(
const basic_string_view<Char>& s )
47 {
return from_string_view<Char>( s ); }
Some_type * P_
Creates a raw pointer type.
CPPX_USE_STD(basic_string, basic_string_view, iterator_traits, move, next, string, string_view)
auto utf8_from_codes(const Span_< In_iterator > range, const Out_iterator destination) -> Out_iterator
auto is_empty(const Collection &c) -> Truth
auto next(P_< const char > p) -> P_< const char >
auto from(const P_< const Char > s) -> string
#define CPPX_ITEMS_OF(c)
$items_of(c) effectively expands to std::begin(c), std::end(c).
auto from_string_view(const basic_string_view< Char > &ws) -> string
auto n_bytes_for(const basic_string_view< Char > &sv) noexcept -> Size