1 // -*- C++ -*- 2 //===----------------------------- regex ----------------------------------===// 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 //===----------------------------------------------------------------------===// 9 10 #ifndef _LIBCPP_EXPERIMENTAL_REGEX 11 #define _LIBCPP_EXPERIMENTAL_REGEX 12 /* 13 experimental/regex synopsis 14 15 // C++1z 16 namespace std { 17 namespace experimental { 18 inline namespace fundamentals_v1 { 19 namespace pmr { 20 21 template <class BidirectionalIterator> 22 using match_results = 23 std::match_results<BidirectionalIterator, 24 polymorphic_allocator<sub_match<BidirectionalIterator>>>; 25 26 typedef match_results<const char*> cmatch; 27 typedef match_results<const wchar_t*> wcmatch; 28 typedef match_results<string::const_iterator> smatch; 29 typedef match_results<wstring::const_iterator> wsmatch; 30 31 } // namespace pmr 32 } // namespace fundamentals_v1 33 } // namespace experimental 34 } // namespace std 35 36 */ 37 38 #include <experimental/__config> 39 #include <regex> 40 #include <experimental/string> 41 #include <experimental/memory_resource> 42 43 #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 44 #pragma GCC system_header 45 #endif 46 47 _LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 48 49 template <class _BiDirIter> 50 using match_results = 51 _VSTD::match_results<_BiDirIter, 52 polymorphic_allocator<_VSTD::sub_match<_BiDirIter>>>; 53 54 typedef match_results<const char*> cmatch; 55 typedef match_results<const wchar_t*> wcmatch; 56 typedef match_results<_VSTD_LFTS_PMR::string::const_iterator> smatch; 57 typedef match_results<_VSTD_LFTS_PMR::wstring::const_iterator> wsmatch; 58 59 _LIBCPP_END_NAMESPACE_LFTS_PMR 60 61 #endif /* _LIBCPP_EXPERIMENTAL_REGEX */ 62