Loading [MathJax]/extensions/tex2jax.js
Iros
 
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages Concepts
Loading...
Searching...
No Matches
eof_parser.h
Go to the documentation of this file.
1#pragma once
2
8
9namespace di::parser {
10namespace detail {
11 class EofParser : public ParserBase<EofParser> {
12 public:
13 template<concepts::ParserContext Context>
14 constexpr auto parse(Context& context) const -> meta::ParserContextResult<void, Context> {
15 if (!container::empty(context)) {
16 return vocab::Unexpected(context.make_error());
17 }
18 return {};
19 }
20 };
21
22 struct EofFunction {
23 constexpr auto operator()() const { return EofParser {}; }
24 };
25}
26
27constexpr inline auto eof = detail::EofFunction {};
28}
Definition parser_base.h:5
Definition eof_parser.h:11
constexpr auto parse(Context &context) const -> meta::ParserContextResult< void, Context >
Definition eof_parser.h:14
constexpr auto empty
Definition empty.h:45
vocab::Expected< T, meta::ParserContextError< Context > > ParserContextResult
Definition parser_context_result.h:8
Definition zstring_parser.h:10
Definition zstring_parser.h:9
constexpr auto eof
Definition eof_parser.h:27
Unexpected(E &&) -> Unexpected< meta::UnwrapRefDecay< E > >
Definition eof_parser.h:22
constexpr auto operator()() const
Definition eof_parser.h:23