1 #pragma once // Source encoding: UTF-8 with BOM (π is a lowercase Greek "pi"). 10 #include <string_view> 16 template<
class Char >
25 {
return m_length == 0; }
32 -> basic_string_view<Char>
33 {
return basic_string_view<Char>( m_p_start, m_length ); }
46 m_p_start( s.data() ),
51 template<
class Char >
54 {
return svv.is_empty(); }
Some_type * P_
Creates a raw pointer type.
auto length() const -> Size
A drop-in replacement for bool without implicit conversion from/to types other than bool.
String_value_view_(const basic_string< Char > &s)
auto temporary_access() const -> basic_string_view< Char >
Truth is a drop-in replacement for bool without implicit conversion from/to types other than bool.
CPPX_USE_STD(basic_string, basic_string_view, bitset, char_traits, size)
String_value_view_(const P_< const Char > s)
Simple type builders Type_, P_, R_, Raw_array_ and Raw_array_of_.
auto is_empty(const Collection &c) -> Truth
auto is_empty() const -> Truth
Signed_< size_t > Size
A Signed_ equivalent of size_t.
Macros for generating more concise and clear using statements, primarily $use_cppx and $use_std,...
Signed Size and Index, plus unsigned equivalents Unsigned_size and Unsigned_index.
auto length_of(const P_< const Char > s) noexcept -> Size