Go to the documentation of this file.
25 #include <string_view>
27 #define CATCH_CONFIG_MAIN
35 constexpr
explicit operator bool()
const {
return mHasValue; }
38 constexpr
const T&
value()
const {
return val; }
47 static constexpr
auto npos = std::string_view::npos;
53 auto end()
const {
return str.end(); }
54 void append(std::size_t count,
char c) {
str.append(count, c); }
57 std::size_t
size()
const {
return str.size(); }
58 int compare(
const char* s)
const {
return str.compare(s); }
66 static constexpr
auto npos = std::string_view::npos;
70 constexpr
bool empty()
const {
return str.empty(); }
71 constexpr std::size_t
size()
const {
return str.size(); }
72 constexpr
const char*
data()
const {
return str.data(); }
73 constexpr
const char&
operator[](std::size_t i)
const {
return str[i]; }
74 constexpr
auto begin()
const {
return str.begin(); }
75 constexpr
auto end()
const {
return str.end(); }
76 constexpr std::size_t
find(
char c)
const {
return str.find(c); }
83 constexpr
int compare(
const char* s)
const {
return str.compare(s); }
95 #define MAGIC_ENUM_USING_ALIAS_OPTIONAL template<typename T> using optional = MyOpt<T>;
96 #define MAGIC_ENUM_USING_ALIAS_STRING using string = MyString;
97 #define MAGIC_ENUM_USING_ALIAS_STRING_VIEW using string_view = MyStringView;
107 constexpr
auto cr = enum_cast<Color>(
"RED");
111 constexpr
auto cn = enum_cast<Color>(
"NONE");
118 REQUIRE(cr.compare(
"RED") == 0);
122 REQUIRE(crg.compare(
"RED|GREEN") == 0);
132 REQUIRE(cr.compare(
"RED") == 0);
constexpr MyStringView(const char *cstr)
constexpr friend bool operator==(MyStringView lhs, MyStringView rhs)
void append(std::size_t count, char c)
auto enum_flags_name(E value, char_type sep=static_cast< char_type >('|')) -> detail::enable_if_t< E, string >
constexpr void remove_suffix(std::size_t n)
constexpr const char * data() const
constexpr const T & operator*() const
constexpr std::size_t find(char c) const
constexpr auto end() const
constexpr int compare(const char *s) const
constexpr MyStringView(const char *cstr, std::size_t size)
constexpr MyStringView substr(std::size_t p, std::size_t n)
void append(const char *s, std::size_t size)
static constexpr auto npos
constexpr MyStringView(std::string_view s)
constexpr auto begin() const
constexpr bool empty() const
constexpr bool operator==(MyStringView lhs, MyStringView rhs)
int compare(const char *s) const
constexpr auto n() noexcept
constexpr std::size_t size() const
constexpr MyOpt(const T &v)
static constexpr auto npos
MyString(const char *s, std::size_t l)
constexpr bool has_value() const
constexpr auto enum_name() noexcept -> detail::enable_if_t< decltype(V), string_view >
#define REQUIRE_FALSE(...)
constexpr const char & operator[](std::size_t i) const
constexpr const T & value() const
constexpr void remove_prefix(std::size_t n)
magic_enum
Author(s):
autogenerated on Fri Feb 21 2025 03:20:19