]>
git.ipfire.org Git - thirdparty/gcc.git/blob - libstdc++-v3/testsuite/23_containers/forward_list/modifiers/1.cc
1 // { dg-do run { target c++11 } }
3 // Copyright (C) 2008-2021 Free Software Foundation, Inc.
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)
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.
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/>.
20 // 23.2.3.n forward_list xxx [lib.forward_list.xxx]
22 #include <forward_list>
23 #include <testsuite_hooks.h>
30 PathPoint(char t
, std::array
<double, 3> & c
)
31 : type(t
), coord(c
) { }
32 char getType() const { return type
; }
35 std::array
<double, 3> coord
;
38 // This test verifies the following.
45 std::forward_list
<PathPoint
> path
;
46 std::array
<double, 3> coord1
= { { 0.0, 1.0, 2.0 } };
47 path
.emplace_front('a', coord1
);
49 std::forward_list
<PathPoint
>::const_iterator pos
= path
.cbegin();
51 std::array
<double, 3> coord2
= { { 3.0, 4.0, 5.0 } };
52 path
.emplace_after(pos
, 'b', coord2
);
54 VERIFY(path
.front().getType() == 'a');
58 VERIFY(path
.front().getType() == 'b');
62 VERIFY(path
.empty() == true);