summaryrefslogtreecommitdiffstats
path: root/libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
diff options
context:
space:
mode:
authorHoward Hinnant <hhinnant@apple.com>2010-08-22 00:59:46 +0000
committerHoward Hinnant <hhinnant@apple.com>2010-08-22 00:59:46 +0000
commit94b2dd0998230c758abd92c99d3700c971f7a31a (patch)
tree1b9f66ba0b4f8fd99fc02a112d4b7a30c4afe0f6 /libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
parentd9c6c0b583ac1f1efeec3db571a1028a3c9b7a99 (diff)
downloadbcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.tar.gz
bcm5719-llvm-94b2dd0998230c758abd92c99d3700c971f7a31a.zip
Fixing whitespace problems
llvm-svn: 111767
Diffstat (limited to 'libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp')
-rw-r--r--libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp87
1 files changed, 86 insertions, 1 deletions
diff --git a/libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp b/libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
index 800dfc6db3e..acf719c8041 100644
--- a/libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
+++ b/libcxx/test/utilities/template.bitset/bitset.cons/string_ctor.pass.cpp
@@ -1 +1,86 @@
-//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // test bitset(string, pos, n, zero, one); #include <bitset> #include <cassert> template <std::size_t N> void test_string_ctor() { { try { std::string str("xxx1010101010xxxx"); std::bitset<N> v(str, str.size()+1, 10); assert(false); } catch (std::out_of_range&) { } } { try { std::string str("xxx1010101010xxxx"); std::bitset<N> v(str, 2, 10); assert(false); } catch (std::invalid_argument&) { } } { std::string str("xxx1010101010xxxx"); std::bitset<N> v(str, 3, 10); std::size_t M = std::min<std::size_t>(N, 10); for (std::size_t i = 0; i < M; ++i) assert(v[i] == (str[3 + M - 1 - i] == '1')); for (std::size_t i = 10; i < N; ++i) assert(v[i] == false); } { try { std::string str("xxxbababababaxxxx"); std::bitset<N> v(str, 2, 10, 'a', 'b'); assert(false); } catch (std::invalid_argument&) { } } { std::string str("xxxbababababaxxxx"); std::bitset<N> v(str, 3, 10, 'a', 'b'); std::size_t M = std::min<std::size_t>(N, 10); for (std::size_t i = 0; i < M; ++i) assert(v[i] == (str[3 + M - 1 - i] == 'b')); for (std::size_t i = 10; i < N; ++i) assert(v[i] == false); } } int main() { test_string_ctor<0>(); test_string_ctor<1>(); test_string_ctor<31>(); test_string_ctor<32>(); test_string_ctor<33>(); test_string_ctor<63>(); test_string_ctor<64>(); test_string_ctor<65>(); test_string_ctor<1000>(); } \ No newline at end of file
+//===----------------------------------------------------------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+// test bitset(string, pos, n, zero, one);
+
+#include <bitset>
+#include <cassert>
+
+template <std::size_t N>
+void test_string_ctor()
+{
+ {
+ try
+ {
+ std::string str("xxx1010101010xxxx");
+ std::bitset<N> v(str, str.size()+1, 10);
+ assert(false);
+ }
+ catch (std::out_of_range&)
+ {
+ }
+ }
+
+ {
+ try
+ {
+ std::string str("xxx1010101010xxxx");
+ std::bitset<N> v(str, 2, 10);
+ assert(false);
+ }
+ catch (std::invalid_argument&)
+ {
+ }
+ }
+
+ {
+ std::string str("xxx1010101010xxxx");
+ std::bitset<N> v(str, 3, 10);
+ std::size_t M = std::min<std::size_t>(N, 10);
+ for (std::size_t i = 0; i < M; ++i)
+ assert(v[i] == (str[3 + M - 1 - i] == '1'));
+ for (std::size_t i = 10; i < N; ++i)
+ assert(v[i] == false);
+ }
+
+ {
+ try
+ {
+ std::string str("xxxbababababaxxxx");
+ std::bitset<N> v(str, 2, 10, 'a', 'b');
+ assert(false);
+ }
+ catch (std::invalid_argument&)
+ {
+ }
+ }
+
+ {
+ std::string str("xxxbababababaxxxx");
+ std::bitset<N> v(str, 3, 10, 'a', 'b');
+ std::size_t M = std::min<std::size_t>(N, 10);
+ for (std::size_t i = 0; i < M; ++i)
+ assert(v[i] == (str[3 + M - 1 - i] == 'b'));
+ for (std::size_t i = 10; i < N; ++i)
+ assert(v[i] == false);
+ }
+}
+
+int main()
+{
+ test_string_ctor<0>();
+ test_string_ctor<1>();
+ test_string_ctor<31>();
+ test_string_ctor<32>();
+ test_string_ctor<33>();
+ test_string_ctor<63>();
+ test_string_ctor<64>();
+ test_string_ctor<65>();
+ test_string_ctor<1000>();
+}
OpenPOWER on IntegriCloud