]> git.proxmox.com Git - ceph.git/blame - ceph/src/boost/libs/metaparse/doc/accept.qbk
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / metaparse / doc / accept.qbk
CommitLineData
7c673cae
FG
1[#accept]
2[section accept]
3
4[h1 Synopsis]
5
6 template <class Result, class Remaining, class Pos>
7 struct accept;
8
9This is a [link metaprogramming_value template metaprogramming value].
10
11[table Arguments
12 [[Name] [Type]]
13 [[`Result`] [[link metaprogramming_value template metaprogramming value]]]
14 [[`Remaining`] [[link string string]]]
15 [[`Pos`] [[link source_position source position]]]
16]
17
18[h1 Description]
19
20Values representing a successful parser application. It behaves as a
21[link lazy_metafunction lazy template metafunction]: when it is evaluated as a
22metafunction, it returns itself with its arguments evaluated. See expression
23semantics for further details.
24
25[note
26Note that for backward compatibility when `Result::type` is not defined,
27`accept<....>::type` does not evaluate `Result`. For example
28`accept<int, BOOST_METAPARSE_STRING("foo"), start>::type` is
29`accept<int, BOOST_METAPARSE_STRING("foo")::type, start::type>`. Using types
30that are not template metaprogramming values as `Result` is deprecated and
31will not work in future versions of the library.
32]
33
34[h1 Expressions semantics]
35
36For any `r` template metaprogramming value, `s` compile-time string and `p`
37source position the following are equivalent:
38
39 accept<r, s, p>::type
40
41 accept<r, s::type, p::type>
42
43[h1 Header]
44
45 #include <boost/metaparse/accept.hpp>
46
47[h1 Operations]
48
49* [link get_position `get_position`]
50* [link get_remaining `get_remaining`]
51* [link get_result `get_result`]
52
53[endsect]
54