5#include <unordered_map>
11inline std::string
surround_with(
const std::string &
s,
const std::string &
w) {
return w +
s +
w; }
12inline std::string
capture(
const std::string &
s) {
return "(" +
s +
")"; }
14inline std::vector<std::string>
capture(
const std::vector<std::string> &
s) {
15 std::vector<std::string> result;
16 result.reserve(
s.size());
17 for (
const auto &elem :
s) {
18 result.push_back(
capture(elem));
23 std::string result =
"[";
24 for (
const auto &ch : chars) {
32 std::string result =
"[^";
33 for (
const auto &ch : chars) {
54inline const std::string
ws_char = R
"(\s)";
57inline const std::string
digit = R
"(\d)";
62inline const std::string
letter = R
"([A-Za-z])";
64inline const std::string
word = R
"(\w+)";
72inline std::string
tuple_of(
const std::vector<std::string> ®exes) {
Definition regex_utils.hpp:9
const std::string one_or_more_ws
Definition regex_utils.hpp:56
const std::string word_char
Definition regex_utils.hpp:63
const std::string unsigned_int_regex
Definition regex_utils.hpp:78
std::string non_capture_optional_group(const std::string &s)
Definition regex_utils.hpp:13
const std::string float_tuple
Definition regex_utils.hpp:82
const std::string ws_char
Definition regex_utils.hpp:54
const std::string digit
Definition regex_utils.hpp:57
std::string surround_with(const std::string &s, const std::string &w)
Definition regex_utils.hpp:11
const std::string float_regex
Definition regex_utils.hpp:79
std::string tuple_of(const std::vector< std::string > ®exes)
Definition regex_utils.hpp:72
const std::string captured_float_tuple
Definition regex_utils.hpp:86
const std::string left_parenthesis
Definition regex_utils.hpp:50
const std::string lowercase_letter
Definition regex_utils.hpp:60
const std::string start_of_line
Definition regex_utils.hpp:43
const std::string any_char_greedy
Definition regex_utils.hpp:46
const std::string type_char_class
Definition regex_utils.hpp:102
const std::string any_char_nongreedy
Definition regex_utils.hpp:47
const std::string binary_digit
Definition regex_utils.hpp:59
const std::string type
Definition regex_utils.hpp:103
std::string one_or_more(const std::string &character_class)
Definition regex_utils.hpp:40
std::string negated_character_class(const std::vector< std::string > &chars)
Definition regex_utils.hpp:31
const std::string right_parenthesis
Definition regex_utils.hpp:49
const std::string nonzero_digit
Definition regex_utils.hpp:58
std::regex function_signature_re(R"(^\s*([\w:<>()]+(?:\s*[*&])?)\s+(\w+)\s*\((.*)\)\s*$)")
const std::string letter
Definition regex_utils.hpp:62
std::string function_signature_ree
Definition regex_utils.hpp:106
const std::string end_of_line
Definition regex_utils.hpp:44
const std::string string_literal(R"("(?:[^"\\]|\\.)*")")
const std::string any_char
Definition regex_utils.hpp:45
const std::string char_literal(R"('(?:[^'\\]|\\.)')")
const std::string word
Definition regex_utils.hpp:64
const std::string captured_float_triplet
Definition regex_utils.hpp:96
std::string character_class(const std::vector< std::string > &chars)
Definition regex_utils.hpp:22
const std::string optional_ws
Definition regex_utils.hpp:55
const std::string int_regex
Definition regex_utils.hpp:77
std::string wrap_parentheses(const std::string &s)
Definition regex_utils.hpp:52
const std::string float_triplet
Definition regex_utils.hpp:91
const std::string optional_ws_comma
Definition regex_utils.hpp:70
const std::string uppercase_letter
Definition regex_utils.hpp:61
const std::string identifier
Definition regex_utils.hpp:65
std::string zero_or_more(const std::string &character_class)
Definition regex_utils.hpp:41
const std::string simple_template_type
Definition regex_utils.hpp:111
std::string capture(const std::string &s)
Definition regex_utils.hpp:12
const std::string captured_float_regex
Definition regex_utils.hpp:80
std::string constructor_signature_re
Definition regex_utils.hpp:109
std::string join(const std::vector< std::string > &elements, const std::string &separator)
Join elements into a single string with a separator.
Definition text_utils.cpp:115