xieite::is_char<>

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

Specifies that a type is a [character type].


Declaration

template<typename T>
concept is_char = xieite::is_wide_char<T> || xieite::is_same_any<xieite::rm_cv<T>, char, char8_t>;


Example

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