xieite::iscntrl()

Defined in header <xieite/data/iscntrl.hpp>

An improved replacement and extension of std::iscntrl().


Declarations

#0
[[nodiscard]] constexpr bool iscntrl(xieite::is_char auto c) noexcept;
Checks if a single character is a control character (not printable).

#1
template<xieite::is_char Char, typename Traits>
[[nodiscard]] constexpr bool iscntrl(std::basic_string_view<Char, Traits> strv) noexcept;
Checks if a string consists only of control characters.

#2
template<xieite::is_char Char, typename Traits, typename Alloc>
[[nodiscard]] constexpr bool iscntrl(const std::basic_string_view<Char, Traits, Alloc>& str) noexcept;
Defers to #1 after deducing Char.

#2
template<xieite::is_char Char, std::size_t length>
[[nodiscard]] constexpr bool iscntrl(const xieite::paren<Char[length]>& str) noexcept;
Defers to #1 after deducing Char.


Example

static_assert(xieite::iscntrl('\n'));
static_assert(not xieite::iscntrl('a'));
[View in Compiler Explorer]