MCPcopy Create free account
hub / github.com/boostorg/parser / compile_combining_groups

Function compile_combining_groups

test/compile_combining_groups.cpp:11–202  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9using namespace boost::parser;
10
11void compile_combining_groups()
12{
13 // p >> seq_parser
14 {
15 constexpr auto parser = char_ >> (char_ >> char_);
16 using combinging_groups_t =
17 typename decltype(parser.parser_)::combining_groups;
18 static_assert(std::is_same_v<
19 combinging_groups_t,
20 tuple<llong<0>, llong<0>, llong<0>>>);
21 }
22 {
23 constexpr auto parser = char_ >> merge[char_ >> char_];
24 using combinging_groups_t =
25 typename decltype(parser.parser_)::combining_groups;
26 static_assert(std::is_same_v<
27 combinging_groups_t,
28 tuple<llong<0>, llong<1>, llong<1>>>);
29 }
30 {
31 constexpr auto parser = char_ >> separate[char_ >> char_];
32 using combinging_groups_t =
33 typename decltype(parser.parser_)::combining_groups;
34 static_assert(std::is_same_v<
35 combinging_groups_t,
36 tuple<llong<0>, llong<-1>, llong<-1>>>);
37 }
38
39
40
41 // seq_parser >> p
42 {
43 constexpr auto parser = (char_ >> char_) >> char_;
44 using combinging_groups_t =
45 typename decltype(parser.parser_)::combining_groups;
46 static_assert(std::is_same_v<
47 combinging_groups_t,
48 tuple<llong<0>, llong<0>, llong<0>>>);
49 }
50 {
51 constexpr auto parser = merge[char_ >> char_] >> char_;
52 using combinging_groups_t =
53 typename decltype(parser.parser_)::combining_groups;
54 static_assert(std::is_same_v<
55 combinging_groups_t,
56 tuple<llong<1>, llong<1>, llong<0>>>);
57 }
58 {
59 constexpr auto parser = separate[char_ >> char_] >> char_;
60 using combinging_groups_t =
61 typename decltype(parser.parser_)::combining_groups;
62 static_assert(std::is_same_v<
63 combinging_groups_t,
64 tuple<llong<-1>, llong<-1>, llong<0>>>);
65 }
66
67
68

Callers 1

mainFunction · 0.85

Calls

no outgoing calls

Tested by 1

mainFunction · 0.68