1 //===----------------------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
11 // class match_results<BidirectionalIterator, Allocator>
13 // match_results& operator=(const match_results& m);
17 #include "test_macros.h"
18 #include "test_allocator.h"
20 template <class CharT
, class Allocator
>
22 test(const Allocator
& a
)
24 typedef std::match_results
<const CharT
*, Allocator
> SM
;
29 assert(m1
.size() == m0
.size());
30 assert(m1
.ready() == m0
.ready());
31 if (std::allocator_traits
<Allocator
>::propagate_on_container_copy_assignment::value
)
32 assert(m1
.get_allocator() == m0
.get_allocator());
34 assert(m1
.get_allocator() == Allocator());
39 test
<char> (std::allocator
<std::sub_match
<const char *> >());
40 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
41 test
<wchar_t>(std::allocator
<std::sub_match
<const wchar_t *> >());
44 // test_allocator has POCCA -> false
45 test
<char> (test_allocator
<std::sub_match
<const char*> >(3));
46 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
47 test
<wchar_t>(test_allocator
<std::sub_match
<const wchar_t*> >(3));
50 // other_allocator has POCCA -> true
51 test
<char> (other_allocator
<std::sub_match
<const char*> >(3));
52 #ifndef TEST_HAS_NO_WIDE_CHARACTERS
53 test
<wchar_t>(other_allocator
<std::sub_match
<const wchar_t*> >(3));