metaparse/doc/source_position.qbk
2015-07-19 09:53:35 +02:00

68 lines
1.6 KiB
Plaintext

[#source_position]
[section source_position]
[h1 Synopsis]
template <class Line, class Col, class PrevChar>
struct source_position;
This is a [link metaprogramming_value template metaprogramming value].
[table Arguments
[[Name] [Type]]
[[`Line`] [[link boxed_value boxed] integer value]]
[[`Col`] [[link boxed_value boxed] integer value]]
[[`PrevChar`] [[link boxed_value boxed] character value]]
]
[h1 Description]
Compile-time data-structure describing a position of the input text.
The values of this data-structure store the last character that was parsed
before reaching the position of the input described by the `source_position`
value.
Its tag is [link source_position_tag `source_position_tag`].
The beginning of the input text is represented by [link start `start`].
[h1 Header]
#include <boost/metaparse/source_position.hpp>
[h1 Expression semantics]
For any `l`, `c` compile-time boxed integral values and `p` compile-time boxed
character value, the following are equivalent
get_col<source_position<l, c, p>>::type
c::type
get_line<source_position<l, c, p>>::type
l::type
get_prev_char<source_position<l, c, p>>::type
p::type
[h1 Constant values of this type]
* [link start `start`]
[h1 Operations]
* `boost::mpl::equal_to`
* `boost::mpl::greater`
* `boost::mpl::greater_equal`
* `boost::mpl::less`
* `boost::mpl::less_equal`
* `boost::mpl::not_equal_to`
* [link get_col `get_col`]
* [link get_line `get_line`]
* [link get_prev_char `get_prev_char`]
* [link next_char `next_char`]
* [link next_line `next_line`]
[endsect]