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

Function main

test/search.cpp:29–761  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

27#endif
28
29int main()
30{
31
32// search_range_skip
33{
34 // array of char
35 {
36 char const str[] = "";
37 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
38 BOOST_TEST(result.begin() == str);
39 BOOST_TEST(result.end() == str);
40 }
41 {
42 char const str[] = "not here";
43 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
44 BOOST_TEST(result.begin() == std::end(str) - 1);
45 BOOST_TEST(result.end() == std::end(str) - 1);
46 }
47 {
48 char const str[] = "aaXYZb";
49 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
50 BOOST_TEST(result.begin() == str + 2);
51 BOOST_TEST(result.end() == str + 5);
52 }
53 {
54 char const str[] = "XYZab";
55 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
56 BOOST_TEST(result.begin() == str + 0);
57 BOOST_TEST(result.end() == str + 3);
58 }
59 {
60 char const str[] = "gbXYZ";
61 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
62 BOOST_TEST(result.begin() == str + 2);
63 BOOST_TEST(result.end() == str + 5);
64 }
65 {
66 char const str[] = "XYZ";
67 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
68 BOOST_TEST(result.begin() == str + 0);
69 BOOST_TEST(result.end() == str + 3);
70 }
71 {
72 char const str[] = "XXYZZ";
73 auto result = bp::search(str, bp::lit("XYZ"), bp::ws);
74 BOOST_TEST(result.begin() == str + 1);
75 BOOST_TEST(result.end() == str + 4);
76 }
77 {
78 char const * str = "XXYZZ";
79 auto result = bp::search(bp::null_term(str), bp::lit("XYZ"), bp::ws);
80 BOOST_TEST(result.begin() == str + 1);
81 BOOST_TEST(result.end() == str + 4);
82 }
83#if BOOST_PARSER_USE_CONCEPTS
84 {
85 auto result = bp::search(std::string("XXYZZ"), bp::lit("XYZ"), bp::ws);
86 static_assert(std::same_as<decltype(result), std::ranges::dangling>);

Callers

nothing calls this directly

Calls 11

searchFunction · 0.85
litFunction · 0.85
null_termFunction · 0.85
nextFunction · 0.85
endFunction · 0.50
stringClass · 0.50
beginFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
baseMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected