From 93ae4ad6fedfcb5eafbf62ff20e7f18231d7258b Mon Sep 17 00:00:00 2001 From: Nana Sakisaka <1901813+saki7@users.noreply.github.com> Date: Sun, 9 Aug 2026 14:32:06 +0900 Subject: [PATCH] Make Unicode skippers builtin --- include/iris/x4/directive/skip.hpp | 28 ++++++++++++++++++++++++++++ modules/iris | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/include/iris/x4/directive/skip.hpp b/include/iris/x4/directive/skip.hpp index 6b8b343a0..fede93a71 100644 --- a/include/iris/x4/directive/skip.hpp +++ b/include/iris/x4/directive/skip.hpp @@ -27,6 +27,10 @@ namespace iris::x4 { template struct char_class_parser; +#ifdef IRIS_X4_UNICODE +template +struct unicode_char_class; +#endif template struct skip_directive : proxy_parser> @@ -220,6 +224,30 @@ struct skip_gen return skip_gen::operator()(char_class_parser{}); } +#ifdef IRIS_X4_UNICODE + [[nodiscard]] + static constexpr builtin_skip_gen_impl + operator()(unicode_char_class const&) noexcept + { + return {}; + } + + [[nodiscard]] + static constexpr builtin_skip_gen_impl + operator()(unicode_char_class const&) noexcept + { + return {}; + } + + template + [[nodiscard]] static constexpr auto + operator()(no_builtin_t> const&) + noexcept(noexcept(skip_gen::operator()(unicode_char_class{}))) + { + return skip_gen::operator()(unicode_char_class{}); + } +#endif + template [[nodiscard]] static constexpr skip_gen_impl> diff --git a/modules/iris b/modules/iris index 3ee6f465b..b8c748815 160000 --- a/modules/iris +++ b/modules/iris @@ -1 +1 @@ -Subproject commit 3ee6f465b747694547cd1c71f295430858e0eb7b +Subproject commit b8c74881531bbf0c0af2d9f4e89f3995c8951ca8