diff options
Diffstat (limited to 'libcxx/test/strings/basic.string/string.nonmembers/string.special')
-rw-r--r-- | libcxx/test/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp | 78 | ||||
-rw-r--r-- | libcxx/test/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp | 54 |
2 files changed, 0 insertions, 132 deletions
diff --git a/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp b/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp deleted file mode 100644 index cee538800dd..00000000000 --- a/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap.pass.cpp +++ /dev/null @@ -1,78 +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> - -// template<class charT, class traits, class Allocator> -// void swap(basic_string<charT,traits,Allocator>& lhs, -// basic_string<charT,traits,Allocator>& rhs); - -#include <string> -#include <stdexcept> -#include <algorithm> -#include <cassert> - -#include "min_allocator.h" - -template <class S> -void -test(S s1, S s2) -{ - S s1_ = s1; - S s2_ = s2; - swap(s1, s2); - assert(s1.__invariants()); - assert(s2.__invariants()); - assert(s1 == s2_); - assert(s2 == s1_); -} - -int main() -{ - { - typedef std::string S; - test(S(""), S("")); - test(S(""), S("12345")); - test(S(""), S("1234567890")); - test(S(""), S("12345678901234567890")); - test(S("abcde"), S("")); - test(S("abcde"), S("12345")); - test(S("abcde"), S("1234567890")); - test(S("abcde"), S("12345678901234567890")); - test(S("abcdefghij"), S("")); - test(S("abcdefghij"), S("12345")); - test(S("abcdefghij"), S("1234567890")); - test(S("abcdefghij"), S("12345678901234567890")); - test(S("abcdefghijklmnopqrst"), S("")); - test(S("abcdefghijklmnopqrst"), S("12345")); - test(S("abcdefghijklmnopqrst"), S("1234567890")); - test(S("abcdefghijklmnopqrst"), S("12345678901234567890")); - } -#if __cplusplus >= 201103L - { - typedef std::basic_string<char, std::char_traits<char>, min_allocator<char>> S; - test(S(""), S("")); - test(S(""), S("12345")); - test(S(""), S("1234567890")); - test(S(""), S("12345678901234567890")); - test(S("abcde"), S("")); - test(S("abcde"), S("12345")); - test(S("abcde"), S("1234567890")); - test(S("abcde"), S("12345678901234567890")); - test(S("abcdefghij"), S("")); - test(S("abcdefghij"), S("12345")); - test(S("abcdefghij"), S("1234567890")); - test(S("abcdefghij"), S("12345678901234567890")); - test(S("abcdefghijklmnopqrst"), S("")); - test(S("abcdefghijklmnopqrst"), S("12345")); - test(S("abcdefghijklmnopqrst"), S("1234567890")); - test(S("abcdefghijklmnopqrst"), S("12345678901234567890")); - } -#endif -} diff --git a/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp b/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp deleted file mode 100644 index 4d5d79693d0..00000000000 --- a/libcxx/test/strings/basic.string/string.nonmembers/string.special/swap_noexcept.pass.cpp +++ /dev/null @@ -1,54 +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 swap(basic_string& c) -// noexcept(!allocator_type::propagate_on_container_swap::value || -// __is_nothrow_swappable<allocator_type>::value); - -// This tests a conforming extension - -#include <string> -#include <cassert> - -#include "test_allocator.h" - -template <class T> -struct some_alloc -{ - typedef T value_type; - - some_alloc() {} - some_alloc(const some_alloc&); - void deallocate(void*, unsigned) {} - - typedef std::true_type propagate_on_container_swap; -}; - -int main() -{ -#if __has_feature(cxx_noexcept) - { - typedef std::string C; - C c1, c2; - static_assert(noexcept(swap(c1, c2)), ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, test_allocator<char>> C; - C c1, c2; - static_assert(noexcept(swap(c1, c2)), ""); - } - { - typedef std::basic_string<char, std::char_traits<char>, some_alloc<char>> C; - C c1, c2; - static_assert(!noexcept(swap(c1, c2)), ""); - } -#endif -} |