Skip to content

Commit 1f4be1e

Browse files
author
Hana Dusíková
committed
on GCC this test is two times faster with new capture style
1 parent 2d3bb27 commit 1f4be1e

File tree

1 file changed

+24
-0
lines changed

1 file changed

+24
-0
lines changed

tests/gets.cpp

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#include <ctre.hpp>
2+
#include <iostream>
3+
4+
static constexpr auto pattern = ctll::fixed_string("([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+),([a-z]+)");
5+
6+
size_t total_size(std::string_view subject) {
7+
auto result = ctre::match<pattern>(subject);
8+
9+
if (not result) return 0;
10+
11+
size_t size = 0;
12+
size += std::string_view(result.get<1>()).size();
13+
size += std::string_view(result.get<2>()).size();
14+
size += std::string_view(result.get<3>()).size();
15+
size += std::string_view(result.get<4>()).size();
16+
size += std::string_view(result.get<5>()).size();
17+
size += std::string_view(result.get<6>()).size();
18+
size += std::string_view(result.get<7>()).size();
19+
size += std::string_view(result.get<8>()).size();
20+
size += std::string_view(result.get<9>()).size();
21+
size += std::string_view(result.get<10>()).size();
22+
23+
return size;
24+
}

0 commit comments

Comments
 (0)