xieite::is_wide_ch<>

Defined in header <xieite/trait/is_wide_ch.hpp>

Specifies that a type is a 'wide character type', similar to how the C standard references 'wide string literals'.


Declaration

template<typename T>
concept is_wide_ch = xieite::is_same_any<xieite::rm_cv<T>, wchar_t, char16_t, char32_t>;


Example

static_assert(xieite::is_wide_ch<wchar_t>);
static_assert(xieite::is_wide_ch<char32_t>);
static_assert(!xieite::is_wide_ch<char>);
static_assert(!xieite::is_wide_ch<unsigned char>);
static_assert(!xieite::is_wide_ch<int>);
static_assert(!xieite::is_wide_ch<void*>);
[View in Compiler Explorer]