Remove old autovect-branch by moving to "dead" directory.
[official-gcc.git] / old-autovect-branch / libstdc++-v3 / testsuite / 23_containers / vector / capacity / 1.cc
blob8166a3fc8f2e8f729a73525850f062a7229c124b
1 // 1999-05-07
2 // bkoz
4 // Copyright (C) 1999, 2002, 2003, 2004, 2005
5 // Free Software Foundation, Inc.
6 //
7 // This file is part of the GNU ISO C++ Library. This library is free
8 // software; you can redistribute it and/or modify it under the
9 // terms of the GNU General Public License as published by the
10 // Free Software Foundation; either version 2, or (at your option)
11 // any later version.
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License along
19 // with this library; see the file COPYING. If not, write to the Free
20 // Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
21 // USA.
23 // 23.2.4.2 vector capacity
25 #include <vector>
26 #include <stdexcept>
27 #include <testsuite_allocator.h>
28 #include <testsuite_hooks.h>
30 template<typename T>
31 struct A { };
33 struct B { };
35 void test01()
37 // non POD types
38 bool test __attribute__((unused)) = true;
39 std::vector< A<B> > vec01;
40 typedef std::vector< A<B> >::size_type size_type;
42 size_type sz01 = vec01.capacity();
43 vec01.reserve(100);
44 size_type sz02 = vec01.capacity();
45 VERIFY( sz02 >= sz01 );
47 sz01 = vec01.size() + 5;
48 vec01.resize(sz01);
49 sz02 = vec01.size();
50 VERIFY( sz01 == sz02 );
52 sz01 = vec01.size() - 5;
53 vec01.resize(sz01);
54 sz02 = vec01.size();
55 VERIFY( sz01 == sz02 );
58 int main()
60 test01();
61 return 0;