146035553Spatrick// -*- C++ -*- 2*4bdff4beSrobert//===----------------------------------------------------------------------===// 346035553Spatrick// 446035553Spatrick// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 546035553Spatrick// See https://llvm.org/LICENSE.txt for license information. 646035553Spatrick// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 746035553Spatrick// 846035553Spatrick//===----------------------------------------------------------------------===// 946035553Spatrick 1046035553Spatrick#ifndef _LIBCPP_EXPERIMENTAL_REGEX 1146035553Spatrick#define _LIBCPP_EXPERIMENTAL_REGEX 12*4bdff4beSrobert 1346035553Spatrick/* 1446035553Spatrick experimental/regex synopsis 1546035553Spatrick 1646035553Spatrick// C++1z 1746035553Spatricknamespace std { 1846035553Spatricknamespace experimental { 1946035553Spatrickinline namespace fundamentals_v1 { 2046035553Spatricknamespace pmr { 2146035553Spatrick 2246035553Spatrick template <class BidirectionalIterator> 2346035553Spatrick using match_results = 2446035553Spatrick std::match_results<BidirectionalIterator, 2546035553Spatrick polymorphic_allocator<sub_match<BidirectionalIterator>>>; 2646035553Spatrick 2746035553Spatrick typedef match_results<const char*> cmatch; 2846035553Spatrick typedef match_results<const wchar_t*> wcmatch; 2946035553Spatrick typedef match_results<string::const_iterator> smatch; 3046035553Spatrick typedef match_results<wstring::const_iterator> wsmatch; 3146035553Spatrick 3246035553Spatrick} // namespace pmr 3346035553Spatrick} // namespace fundamentals_v1 3446035553Spatrick} // namespace experimental 3546035553Spatrick} // namespace std 3646035553Spatrick 3746035553Spatrick */ 3846035553Spatrick 39*4bdff4beSrobert#include <__assert> // all public C++ headers provide the assertion handler 4046035553Spatrick#include <experimental/__config> 4146035553Spatrick#include <experimental/memory_resource> 42*4bdff4beSrobert#include <experimental/string> 43*4bdff4beSrobert#include <regex> 4446035553Spatrick 4546035553Spatrick#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) 4646035553Spatrick# pragma GCC system_header 4746035553Spatrick#endif 4846035553Spatrick 4946035553Spatrick_LIBCPP_BEGIN_NAMESPACE_LFTS_PMR 5046035553Spatrick 51*4bdff4beSrobert#ifndef _LIBCPP_CXX03_LANG 52*4bdff4beSrobert 5346035553Spatricktemplate <class _BiDirIter> 5446035553Spatrickusing match_results = 5546035553Spatrick _VSTD::match_results<_BiDirIter, 5646035553Spatrick polymorphic_allocator<_VSTD::sub_match<_BiDirIter>>>; 5746035553Spatrick 58*4bdff4beSrobert_LIBCPP_DEPCREATED_MEMORY_RESOURCE("cmatch") typedef match_results<const char*> cmatch; 59*4bdff4beSrobert_LIBCPP_DEPCREATED_MEMORY_RESOURCE("smatch") typedef match_results<_VSTD_LFTS_PMR::string::const_iterator> smatch; 60*4bdff4beSrobert#ifndef _LIBCPP_HAS_NO_WIDE_CHARACTERS 61*4bdff4beSrobert_LIBCPP_DEPCREATED_MEMORY_RESOURCE("wcmatch") typedef match_results<const wchar_t*> wcmatch; 62*4bdff4beSrobert_LIBCPP_DEPCREATED_MEMORY_RESOURCE("wsmatch") typedef match_results<_VSTD_LFTS_PMR::wstring::const_iterator> wsmatch; 63*4bdff4beSrobert#endif 64*4bdff4beSrobert 65*4bdff4beSrobert#endif // _LIBCPP_CXX03_LANG 6646035553Spatrick 6746035553Spatrick_LIBCPP_END_NAMESPACE_LFTS_PMR 6846035553Spatrick 6946035553Spatrick#endif /* _LIBCPP_EXPERIMENTAL_REGEX */ 70