2 //===----------------------------------------------------------------------===//
4 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
5 // See https://llvm.org/LICENSE.txt for license information.
6 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
8 //===----------------------------------------------------------------------===//
10 export namespace std {
11 #if _LIBCPP_HAS_LOCALIZATION
12 // [re.const], regex constants
13 namespace regex_constants {
14 using std::regex_constants::error_type;
15 using std::regex_constants::match_flag_type;
16 using std::regex_constants::syntax_option_type;
18 // regex_constants is a bitmask type.
19 // [bitmask.types] specified operators
20 using std::regex_constants::operator&;
21 using std::regex_constants::operator&=;
22 using std::regex_constants::operator^;
23 using std::regex_constants::operator^=;
24 using std::regex_constants::operator|;
25 using std::regex_constants::operator|=;
26 using std::regex_constants::operator~;
28 } // namespace regex_constants
30 // [re.badexp], class regex_error
31 using std::regex_error;
33 // [re.traits], class template regex_traits
34 using std::regex_traits;
36 // [re.regex], class template basic_regex
37 using std::basic_regex;
40 # if _LIBCPP_HAS_WIDE_CHARACTERS
44 // [re.regex.swap], basic_regex swap
47 // [re.submatch], class template sub_match
50 using std::csub_match;
51 using std::ssub_match;
52 # if _LIBCPP_HAS_WIDE_CHARACTERS
53 using std::wcsub_match;
54 using std::wssub_match;
57 // [re.submatch.op], sub_match non-member operators
58 using std::operator==;
59 using std::operator<=>;
61 using std::operator<<;
63 // [re.results], class template match_results
64 using std::match_results;
68 # if _LIBCPP_HAS_WIDE_CHARACTERS
73 // match_results comparisons
75 // [re.results.swap], match_results swap
77 // [re.alg.match], function template regex_match
78 using std::regex_match;
80 // [re.alg.search], function template regex_search
81 using std::regex_search;
83 // [re.alg.replace], function template regex_replace
84 using std::regex_replace;
86 // [re.regiter], class template regex_iterator
87 using std::regex_iterator;
89 using std::cregex_iterator;
90 using std::sregex_iterator;
91 # if _LIBCPP_HAS_WIDE_CHARACTERS
92 using std::wcregex_iterator;
93 using std::wsregex_iterator;
96 // [re.tokiter], class template regex_token_iterator
97 using std::regex_token_iterator;
99 using std::cregex_token_iterator;
100 using std::sregex_token_iterator;
101 # if _LIBCPP_HAS_WIDE_CHARACTERS
102 using std::wcregex_token_iterator;
103 using std::wsregex_token_iterator;
107 using std::pmr::match_results;
109 using std::pmr::cmatch;
110 using std::pmr::smatch;
111 # if _LIBCPP_HAS_WIDE_CHARACTERS
112 using std::pmr::wcmatch;
113 using std::pmr::wsmatch;
116 #endif // _LIBCPP_HAS_LOCALIZATION