diff options
| author | Bill Wendling <isanbard@gmail.com> | 2012-04-18 21:39:23 +0000 |
|---|---|---|
| committer | Bill Wendling <isanbard@gmail.com> | 2012-04-18 21:39:23 +0000 |
| commit | 392e4fbdd9b152efff4c051286f6b2c21270c902 (patch) | |
| tree | 4ac339be2c4c7c596f068b59d5e512b157c7b433 /libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp | |
| parent | eb1c2bdc1f55fbc5d1e7bb86e9f0e038b0f5adb7 (diff) | |
Creating release_31 branchllvmorg-3.1.0-rc1
llvm-svn: 155059
llvm-svn: 155053
llvm-svn: 155051
Diffstat (limited to 'libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp')
| -rw-r--r-- | libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp | 81 |
1 files changed, 0 insertions, 81 deletions
diff --git a/libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp b/libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp deleted file mode 100644 index 0689a8b406ee..000000000000 --- a/libcxx/test/strings/basic.string/string.capacity/reserve.pass.cpp +++ /dev/null @@ -1,81 +0,0 @@ -//===----------------------------------------------------------------------===// -// -// The LLVM Compiler Infrastructure -// -// This file is dual licensed under the MIT and the University of Illinois Open -// Source Licenses. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// - -// <string> - -// void reserve(size_type res_arg=0); - -#include <string> -#include <stdexcept> -#include <cassert> - -template <class S> -void -test(S s) -{ - typename S::size_type old_cap = s.capacity(); - S s0 = s; - s.reserve(); - assert(s.__invariants()); - assert(s == s0); - assert(s.capacity() <= old_cap); - assert(s.capacity() >= s.size()); -} - -template <class S> -void -test(S s, typename S::size_type res_arg) -{ - typename S::size_type old_cap = s.capacity(); - S s0 = s; - try - { - s.reserve(res_arg); - assert(res_arg <= s.max_size()); - assert(s == s0); - assert(s.capacity() >= res_arg); - assert(s.capacity() >= s.size()); - } - catch (std::length_error&) - { - assert(res_arg > s.max_size()); - } -} - -int main() -{ - typedef std::string S; - { - S s; - test(s); - - s.assign(10, 'a'); - s.erase(5); - test(s); - - s.assign(100, 'a'); - s.erase(50); - test(s); - } - { - S s; - test(s, 5); - test(s, 10); - test(s, 50); - } - { - S s(100, 'a'); - s.erase(50); - test(s, 5); - test(s, 10); - test(s, 50); - test(s, 100); - test(s, S::npos); - } -} |
