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
16namespace std {
17namespace experimental {
18inline namespace fundamentals_v1 {
19namespace 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
49template <class _BiDirIter>
50using match_results =
51    _VSTD::match_results<_BiDirIter,
52        polymorphic_allocator<_VSTD::sub_match<_BiDirIter>>>;
53
54typedef match_results<const char*> cmatch;
55typedef match_results<const wchar_t*> wcmatch;
56typedef match_results<_VSTD_LFTS_PMR::string::const_iterator> smatch;
57typedef match_results<_VSTD_LFTS_PMR::wstring::const_iterator> wsmatch;
58
59_LIBCPP_END_NAMESPACE_LFTS_PMR
60
61#endif /* _LIBCPP_EXPERIMENTAL_REGEX */
62