Add the initializes attribute inference (#117104)
[llvm-project.git] / libcxx / modules / std / regex.inc
blob9d0c58075b582fd00b1a283e3c2f6a5060234f3d
1 // -*- C++ -*-
2 //===----------------------------------------------------------------------===//
3 //
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
7 //
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;
39   using std::regex;
40 #  if _LIBCPP_HAS_WIDE_CHARACTERS
41   using std::wregex;
42 #  endif
44   // [re.regex.swap], basic_regex swap
45   using std::swap;
47   // [re.submatch], class template sub_match
48   using std::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;
55 #  endif
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;
66   using std::cmatch;
67   using std::smatch;
68 #  if _LIBCPP_HAS_WIDE_CHARACTERS
69   using std::wcmatch;
70   using std::wsmatch;
71 #  endif
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;
94 #  endif
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;
104 #  endif
106   namespace pmr {
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;
114 #  endif
115   }    // namespace pmr
116 #endif // _LIBCPP_HAS_LOCALIZATION
117 } // namespace std