2 [section source_position]
6 template <class Line, class Col, class PrevChar>
7 struct source_position;
9 This is a [link metaprogramming_value template metaprogramming value].
13 [[`Line`] [[link boxed_value boxed] integer value]]
14 [[`Col`] [[link boxed_value boxed] integer value]]
15 [[`PrevChar`] [[link boxed_value boxed] character value]]
20 Compile-time data-structure describing a position of the input text.
22 The values of this data-structure store the last character that was parsed
23 before reaching the position of the input described by the `source_position`
26 Its tag is [link source_position_tag `source_position_tag`].
28 The beginning of the input text is represented by [link start `start`].
32 #include <boost/metaparse/source_position.hpp>
34 [h1 Expression semantics]
36 For any `l`, `c` compile-time boxed integral values and `p` compile-time boxed
37 character value, the following are equivalent
39 get_col<source_position<l, c, p>>::type
42 get_line<source_position<l, c, p>>::type
45 get_prev_char<source_position<l, c, p>>::type
48 [h1 Constant values of this type]
50 * [link start `start`]
54 * `boost::mpl::equal_to`
55 * `boost::mpl::greater`
56 * `boost::mpl::greater_equal`
58 * `boost::mpl::less_equal`
59 * `boost::mpl::not_equal_to`
60 * [link get_col `get_col`]
61 * [link get_line `get_line`]
62 * [link get_prev_char `get_prev_char`]
63 * [link next_char `next_char`]
64 * [link next_line `next_line`]