parsi/charset.hpp

namespace parsi
class Charset
#include <charset.hpp>

A container to hold a charset and check whether a character/byte is in the set.

Public Functions

inline constexpr Charset() noexcept
inline explicit constexpr Charset(const char *charset) noexcept
inline explicit constexpr Charset(const char *charset, std::size_t size) noexcept
inline explicit constexpr Charset(const unsigned char *charset, std::size_t size) noexcept
inline explicit constexpr Charset(std::string_view charset) noexcept
inline explicit constexpr Charset(std::span<const std::uint8_t> byteset) noexcept
inline explicit constexpr Charset(std::initializer_list<std::uint8_t> byteset) noexcept
inline constexpr auto contains(std::uint8_t character) const noexcept -> bool
inline constexpr auto joined(const Charset &other) const noexcept -> Charset
inline constexpr auto opposite() const noexcept -> Charset

make a charset that matches any character except the currently set characters.

Private Members

internal::Bitset<256> _map

Friends

inline friend constexpr friend auto operator+ (const parsi::Charset &lhs, const parsi::Charset &rhs) noexcept -> Charset
friend constexpr friend bool operator== (const parsi::Charset &, const parsi::Charset &) noexcept=default
friend constexpr friend bool operator!= (const parsi::Charset &, const parsi::Charset &) noexcept=default