]> git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/23_containers/forward_list/modifiers/6.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 23_containers / forward_list / modifiers / 6.cc
1 // { dg-do run { target c++11 } }
2
3 // Copyright (C) 2012-2020 Free Software Foundation, Inc.
4 //
5 // This file is part of the GNU ISO C++ Library. This library is free
6 // software; you can redistribute it and/or modify it under the
7 // terms of the GNU General Public License as published by the
8 // Free Software Foundation; either version 3, or (at your option)
9 // any later version.
10
11 // This library is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
15
16 // You should have received a copy of the GNU General Public License along
17 // with this library; see the file COPYING3. If not see
18 // <http://www.gnu.org/licenses/>.
19
20 #include <forward_list>
21
22 #include <testsuite_hooks.h>
23
24 void test01()
25 {
26 std::forward_list<int> fl1(1, 5), fl2(1, 4), fl3(1, 3),
27 fl4(1, 2), fl5(1, 1), fl6(1, 0);
28
29 fl1.splice_after(fl1.before_begin(), fl2);
30
31 auto it = fl1.begin();
32
33 VERIFY( *it == 4 );
34
35 ++it;
36
37 VERIFY( *it == 5 );
38
39 fl3.splice_after(fl3.before_begin(), fl4, fl4.before_begin());
40
41 it = fl3.begin();
42
43 VERIFY( *it == 2 );
44
45 ++it;
46
47 VERIFY( *it == 3 );
48
49 fl5.splice_after(fl5.before_begin(), fl6, fl6.before_begin(), fl6.end());
50
51 it = fl5.begin();
52
53 VERIFY( *it == 0 );
54
55 ++it;
56
57 VERIFY( *it == 1 );
58
59 fl1.merge(fl2);
60
61 it = fl1.begin();
62
63 VERIFY( *it == 4 );
64
65 ++it;
66
67 VERIFY( *it == 5 );
68
69 fl1.merge(fl3, std::less<int>());
70
71 it = fl1.begin();
72
73 VERIFY( *it == 2 );
74
75 ++it;
76
77 VERIFY( *it == 3 );
78
79 ++it;
80
81 VERIFY( *it == 4 );
82
83 ++it;
84
85 VERIFY( *it == 5 );
86 }
87
88 int main()
89 {
90 test01();
91 return 0;
92 }