Iros
 
Loading...
Searching...
No Matches
run_parser.h
Go to the documentation of this file.
1#pragma once
2
3#include "di/function/curry.h"
8
9namespace di::parser {
10namespace detail {
12 template<concepts::IntoParserContext U, typename Context = meta::AsParserContext<U>,
13 concepts::Parser<Context> Parser>
14 constexpr auto operator()(Parser parser, U&& input) const {
15 auto context = into_parser_context(util::forward<U>(input));
16 auto with_eof_parser = parser::sequence(util::move(parser), parser::eof());
17 return with_eof_parser.parse(context);
18 }
19 };
20}
21
22constexpr inline auto run_parser = detail::RunParserFunction {};
23}
24
25namespace di {
27}
Definition zstring_parser.h:10
Definition zstring_parser.h:9
constexpr auto run_parser
Definition run_parser.h:22
constexpr auto into_parser_context
Definition into_parser_context.h:21
constexpr auto eof
Definition eof_parser.h:27
constexpr auto sequence
Definition sequence.h:71
Definition zstring_parser.h:9
Definition run_parser.h:11
constexpr auto operator()(Parser parser, U &&input) const
Definition run_parser.h:14