• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1[#source_position]
2[section source_position]
3
4[h1 Synopsis]
5
6  template <class Line, class Col, class PrevChar>
7  struct source_position;
8
9This is a [link metaprogramming_value template metaprogramming value].
10
11[table Arguments
12  [[Name]       [Type]]
13  [[`Line`]     [[link boxed_value boxed] integer value]]
14  [[`Col`]      [[link boxed_value boxed] integer value]]
15  [[`PrevChar`] [[link boxed_value boxed] character value]]
16]
17
18[h1 Description]
19
20Compile-time data-structure describing a position of the input text.
21
22The values of this data-structure store the last character that was parsed
23before reaching the position of the input described by the `source_position`
24value.
25
26Its tag is [link source_position_tag `source_position_tag`].
27
28The beginning of the input text is represented by [link start `start`].
29
30[h1 Header]
31
32  #include <boost/metaparse/source_position.hpp>
33
34[h1 Expression semantics]
35
36For any `l`, `c` compile-time boxed integral values and `p` compile-time boxed
37character value, the following are equivalent
38
39  get_col<source_position<l, c, p>>::type
40  c::type
41
42  get_line<source_position<l, c, p>>::type
43  l::type
44
45  get_prev_char<source_position<l, c, p>>::type
46  p::type
47
48[h1 Constant values of this type]
49
50* [link start `start`]
51
52[h1 Operations]
53
54* `boost::mpl::equal_to`
55* `boost::mpl::greater`
56* `boost::mpl::greater_equal`
57* `boost::mpl::less`
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`]
65
66[endsect]
67
68