14 template<concepts::Predicate<c32> Pred>
15 class MatchZeroOrMoreParser :
public ParserBase<MatchZeroOrMoreParser<Pred>> {
18 constexpr explicit MatchZeroOrMoreParser(InPlace, P&& predicate) : m_predicate(util::forward<P>(predicate)) {}
20 template<concepts::ParserContext Context>
27 while (it != sent && m_predicate(*it)) {
39 struct MatchZeroOrMoreFunction {
40 template<concepts::Predicate<c32> Pred>
41 requires(concepts::DecayConstructible<Pred>)
42 constexpr auto operator()(Pred&& predicate)
const {
43 return MatchZeroOrMoreParser<meta::Decay<Pred>> {
in_place, util::forward<Pred>(predicate) };
constexpr auto reconstruct
Definition reconstruct.h:75
constexpr auto end
Definition end.h:55
constexpr auto begin
Definition begin.h:52
constexpr auto start
Definition start.h:20
Definition code_point_parser.h:10
constexpr auto match_zero_or_more
Definition match_zero_or_more.h:48
constexpr auto parse
Definition parse.h:23
constexpr auto in_place_type
Definition in_place_type.h:12
constexpr auto in_place
Definition in_place.h:8