Iros
Loading...
Searching...
No Matches
ignore.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
di/function/into_void.h
"
4
#include "
di/meta/util.h
"
5
#include "
di/parser/combinator/transform.h
"
6
7
namespace
di::parser
{
8
namespace
detail
{
9
struct
IgnoreFunction
{
10
template
<concepts::DecayConstructible Parser>
11
constexpr
auto
operator()
(Parser&&
parser
)
const
{
12
return
util::forward<Parser>(
parser
) %
function::into_void
;
13
}
14
};
15
}
16
17
constexpr
inline
auto
ignore
=
detail::IgnoreFunction
{};
18
19
template
<concepts::DecayConstructible Parser>
20
requires
(
concepts::DerivedFrom<Parser, ParserBase<Parser>
>)
21
constexpr
auto
operator
~(Parser&&
parser
) {
22
return
ignore
(util::forward<Parser>(
parser
));
23
}
24
}
di::concepts::DerivedFrom
Definition
operations.h:114
into_void.h
di::function::into_void
constexpr auto into_void
Definition
into_void.h:11
di::parser::detail
Definition
zstring_parser.h:10
di::parser
Definition
zstring_parser.h:9
di::parser::ignore
constexpr auto ignore
Definition
ignore.h:17
transform.h
di::parser::detail::IgnoreFunction
Definition
ignore.h:9
di::parser::detail::IgnoreFunction::operator()
constexpr auto operator()(Parser &&parser) const
Definition
ignore.h:11
util.h
libs
di
include
di
parser
combinator
ignore.h
Generated by
1.13.0