#include #include void empty_symbol() { } using namespace std::string_view_literals; static inline constexpr auto pattern1 = ctll::fixed_string{"^[\\x30-\\x39]+?$"}; static inline constexpr auto pattern2 = ctll::fixed_string{""}; static_assert(ctre::re().match("123456789"sv)); static_assert(ctre::re().match(""sv)); template constexpr bool re() { #if CTRE_CNTTP_COMPILER_CHECK constexpr auto _ptn = ptn; #else constexpr auto & _ptn = ptn; #endif return ctll::parser::template correct_with>; } static_assert(re()); static inline constexpr ctll::fixed_string pat = "hello"; template constexpr bool re2() { #if CTRE_CNTTP_COMPILER_CHECK constexpr auto _ptn = ptn; #else constexpr auto & _ptn = ptn; #endif return ctll::parser::template correct_with>; } static_assert(re()); static_assert(ctre::re().match("hello"sv)); static_assert(ctre::match("hello"sv));