]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/23_containers/forward_list/cons/13.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / 23_containers / forward_list / cons / 13.cc
CommitLineData
52066eae 1// { dg-do run { target c++11 } }
50799846 2
7adcbafe 3// Copyright (C) 2012-2022 Free Software Foundation, Inc.
50799846
JW
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// 23.3.4.2 forward_list construction [forwardlist.cons]
21
22#include <forward_list>
23#include <memory>
24#include <scoped_allocator>
25#include <testsuite_hooks.h>
26
27struct A
28{
29 typedef std::allocator<A> allocator_type;
30
31 A() : ok(false) { }
32 A(const A&) : ok(false) { }
33 A(const allocator_type&) : ok(true) { }
34 A(const A&, const allocator_type&) : ok(true) { }
35
36 bool ok;
37};
38
39void test01()
40{
41 typedef std::scoped_allocator_adaptor<A::allocator_type> alloc_type;
42 typedef std::forward_list<A, alloc_type> list;
43
44 list l1(1);
45 VERIFY( l1.begin()->ok );
46
47 A a;
48 list l2(1, a);
49 VERIFY( l2.begin()->ok );
50}
51
52int main()
53{
54 test01();
55}