xieite::ispunct()

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

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


Declarations

#0
[[nodiscard]] constexpr bool ispunct(xieite::is_char auto c) noexcept;
Checks if a single character is punctuation.

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

#2
template<xieite::is_char Char, typename Traits, typename Alloc>
[[nodiscard]] constexpr bool ispunct(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 ispunct(const xieite::paren<Char[length]>& str) noexcept;
Defers to #1 after deducing Char.


Example

static_assert(xieite::ispunct('!'));
static_assert(not xieite::ispunct('a'));
[View in Compiler Explorer]