1 // { dg-do run { target c++11 } }
4 // 2014-11-13 Daniel Kruegler <daniel.kruegler@gmail.com>
6 // Copyright (C) 2014-2018 Free Software Foundation, Inc.
8 // This file is part of the GNU ISO C++ Library. This library is free
9 // software; you can redistribute it and/or modify it under the
10 // terms of the GNU General Public License as published by the
11 // Free Software Foundation; either version 3, or (at your option)
14 // This library is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
19 // You should have received a copy of the GNU General Public License along
20 // with this library; see the file COPYING3. If not see
21 // <http://www.gnu.org/licenses/>.
23 // 28.9.2 [re.submatch.op] sub_match members, [DR 2217]
27 #include <testsuite_hooks.h>
31 typedef char value_type
;
32 typedef std::basic_string
<value_type
> string_type
;
33 typedef std::sub_match
<value_type
*> sub_match_type
;
34 const string_type
test_data1("abc\0d", 4);
35 value_type test_data2
[] = {'a', 'b', 'c'};
36 const string_type
test_data3("abc");
39 sm
.first
= std::begin(test_data2
);
40 sm
.second
= std::end(test_data2
);
43 VERIFY( test_data1
!= sm
);
44 VERIFY( sm
!= test_data1
);
45 VERIFY( sm
< test_data1
);
46 VERIFY( !(test_data1
< sm
) );
47 VERIFY( test_data1
> sm
);
49 VERIFY( test_data3
== sm
);
50 VERIFY( sm
== test_data3
);
51 VERIFY( !(sm
< test_data3
) );
52 VERIFY( !(test_data3
< sm
) );