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