52 lines
1.2 KiB
Plaintext
52 lines
1.2 KiB
Plaintext
[#reject]
|
|
[section reject]
|
|
|
|
[h1 Synopsis]
|
|
|
|
template <class Msg, class Pos>
|
|
struct reject;
|
|
|
|
This is a [link metaprogramming_value template metaprogramming value].
|
|
|
|
[table Arguments
|
|
[[Name] [Type]]
|
|
[[`Msg`] [[link metaprogramming_value template metaprogramming value]]]
|
|
[[`Pos`] [[link source_position source position]]]
|
|
]
|
|
|
|
[h1 Description]
|
|
|
|
Values representing a failed parser application. It behaves as a
|
|
[link lazy_metafunction lazy template metafunction]: when it is evaluated as a
|
|
metafunction, it returns itself with its arguments evaluated. See expression
|
|
semantics for further details.
|
|
|
|
[note
|
|
Note that for backward compatibility when `Msg::type` is not defined,
|
|
`reject<....>::type` does not evaluate `Msg`. For example
|
|
`reject<int, start>::type` is `reject<int, start::type>`. Using types that are
|
|
not template metaprogramming values as `Msg` is deprecated and will not work
|
|
in future versions of the library.
|
|
]
|
|
|
|
[h1 Expressions semantics]
|
|
|
|
For any `m` template metaprogramming value and `p` source position the following
|
|
are equivalent:
|
|
|
|
reject<m, p>::type
|
|
|
|
reject<m, p::type>
|
|
|
|
[h1 Header]
|
|
|
|
#include <boost/metaparse/reject.hpp>
|
|
|
|
[h1 Operations]
|
|
|
|
* [link get_position `get_position`]
|
|
* [link get_message `get_message`]
|
|
|
|
[endsect]
|
|
|