]> git.ipfire.org Git - thirdparty/gcc.git/blame - libstdc++-v3/testsuite/performance/23_containers/index/map.cc
Update copyright years.
[thirdparty/gcc.git] / libstdc++-v3 / testsuite / performance / 23_containers / index / map.cc
CommitLineData
83ffe9cd 1// Copyright (C) 2003-2023 Free Software Foundation, Inc.
21c332dc
PC
2//
3// This file is part of the GNU ISO C++ Library. This library is free
4// software; you can redistribute it and/or modify it under the
5// terms of the GNU General Public License as published by the
748086b7 6// Free Software Foundation; either version 3, or (at your option)
21c332dc
PC
7// any later version.
8
9// This library is distributed in the hope that it will be useful,
10// but WITHOUT ANY WARRANTY; without even the implied warranty of
11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12// GNU General Public License for more details.
13
14// You should have received a copy of the GNU General Public License along
748086b7
JJ
15// with this library; see the file COPYING3. If not see
16// <http://www.gnu.org/licenses/>.
21c332dc 17
21c332dc 18
1d3d8fff 19#include <testsuite_performance.h>
21c332dc 20
fd1e1726
BK
21// libstdc++/13823 recast for this testing framework
22template<typename Container, int Iter>
23 void
24 do_loop()
25 {
26 try
27 {
28 Container obj;
29 for (int c = 0; c < 100; c++)
30 {
31 for (unsigned i = 0; i < Iter; ++i)
32 obj[i] = i;
33 }
34 }
35 catch(...)
36 {
37 // No point allocating all available memory, repeatedly.
38 }
39 }
21c332dc 40
fd1e1726
BK
41int
42main()
43{
44#ifdef TEST_S1
45#define thread_type false
46#endif
21c332dc 47
fd1e1726
BK
48#ifdef TEST_T1
49#define thread_type true
50#endif
21c332dc 51
fd1e1726 52 typedef __gnu_test::maps<int, thread_type>::type container_types;
fd1e1726
BK
53 typedef test_sequence<thread_type> test_type;
54 test_type test("index_associative");
d7f245b1 55 __gnu_cxx::typelist::apply(test, container_types());
21c332dc 56
fd1e1726 57 return 0;
21c332dc 58}
fd1e1726 59