diff options
Diffstat (limited to 'libcxx/test/std/containers')
5 files changed, 0 insertions, 304 deletions
diff --git a/libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp b/libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp deleted file mode 100644 index 35bcc27944d..00000000000 --- a/libcxx/test/std/containers/unord/iterator_difference_type.pass.cpp +++ /dev/null @@ -1,154 +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. -// -//===----------------------------------------------------------------------===// - -#include <unordered_map> -#include <unordered_set> -#include <type_traits> - -#include "test_macros.h" -#include "min_allocator.h" -#include "test_allocator.h" - - -template <class Map, class ValueTp, class PtrT, class CPtrT> -void testUnorderedMap() { - typedef typename Map::difference_type Diff; - { - typedef typename Map::iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp&>::value), ""); - static_assert((std::is_same<typename It::pointer, PtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - } - { - typedef typename Map::const_iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp const&>::value), ""); - static_assert((std::is_same<typename It::pointer, CPtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - } - { - typedef typename Map::local_iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp&>::value), ""); - static_assert((std::is_same<typename It::pointer, PtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - } - { - typedef typename Map::const_local_iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp const&>::value), ""); - static_assert((std::is_same<typename It::pointer, CPtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - } -} - - -template <class Set, class ValueTp, class CPtrT> -void testUnorderedSet() { - static_assert((std::is_same<typename Set::iterator, - typename Set::const_iterator>::value), ""); - static_assert((std::is_same<typename Set::local_iterator, - typename Set::const_local_iterator>::value), ""); - typedef typename Set::difference_type Diff; - { - typedef typename Set::iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp const&>::value), ""); - static_assert((std::is_same<typename It::pointer, CPtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - - } - { - typedef typename Set::local_iterator It; - static_assert((std::is_same<typename It::value_type, ValueTp>::value), ""); - static_assert((std::is_same<typename It::reference, ValueTp const&>::value), ""); - static_assert((std::is_same<typename It::pointer, CPtrT>::value), ""); - static_assert((std::is_same<typename It::difference_type, Diff>::value), ""); - } -} - -int main() { - { - typedef std::unordered_map<int, int> Map; - typedef std::pair<const int, int> ValueTp; - testUnorderedMap<Map, ValueTp, ValueTp*, ValueTp const*>(); - } - { - typedef std::pair<const int, int> ValueTp; - typedef test_allocator<ValueTp> Alloc; - typedef std::unordered_map<int, int, std::hash<int>, std::equal_to<int>, Alloc> Map; - testUnorderedMap<Map, ValueTp, ValueTp*, ValueTp const*>(); - } -#if TEST_STD_VER >= 11 - { - typedef std::pair<const int, int> ValueTp; - typedef min_allocator<ValueTp> Alloc; - typedef std::unordered_map<int, int, std::hash<int>, std::equal_to<int>, Alloc> Map; - testUnorderedMap<Map, ValueTp, min_pointer<ValueTp>, min_pointer<const ValueTp>>(); - } -#endif - { - typedef std::unordered_multimap<int, int> Map; - typedef std::pair<const int, int> ValueTp; - testUnorderedMap<Map, ValueTp, ValueTp*, ValueTp const*>(); - } - { - typedef std::pair<const int, int> ValueTp; - typedef test_allocator<ValueTp> Alloc; - typedef std::unordered_multimap<int, int, std::hash<int>, std::equal_to<int>, Alloc> Map; - testUnorderedMap<Map, ValueTp, ValueTp*, ValueTp const*>(); - } -#if TEST_STD_VER >= 11 - { - typedef std::pair<const int, int> ValueTp; - typedef min_allocator<ValueTp> Alloc; - typedef std::unordered_multimap<int, int, std::hash<int>, std::equal_to<int>, Alloc> Map; - testUnorderedMap<Map, ValueTp, min_pointer<ValueTp>, min_pointer<const ValueTp>>(); - } -#endif - { - typedef int ValueTp; - typedef std::unordered_set<ValueTp> Set; - testUnorderedSet<Set, ValueTp, ValueTp const*>(); - } - { - typedef int ValueTp; - typedef test_allocator<ValueTp> Alloc; - typedef std::unordered_set<ValueTp, std::hash<ValueTp>, std::equal_to<ValueTp>, Alloc> Set; - testUnorderedSet<Set, ValueTp, ValueTp const*>(); - } -#if TEST_STD_VER >= 11 - { - typedef int ValueTp; - typedef min_allocator<ValueTp> Alloc; - typedef std::unordered_set<ValueTp, std::hash<ValueTp>, std::equal_to<ValueTp>, Alloc> Set; - testUnorderedSet<Set, ValueTp, min_pointer<const ValueTp>>(); - } -#endif - { - typedef int ValueTp; - typedef std::unordered_multiset<ValueTp> Set; - testUnorderedSet<Set, ValueTp, ValueTp const*>(); - } - { - typedef int ValueTp; - typedef test_allocator<ValueTp> Alloc; - typedef std::unordered_multiset<ValueTp, std::hash<ValueTp>, std::equal_to<ValueTp>, Alloc> Set; - testUnorderedSet<Set, ValueTp, ValueTp const*>(); - } -#if TEST_STD_VER >= 11 - { - typedef int ValueTp; - typedef min_allocator<ValueTp> Alloc; - typedef std::unordered_multiset<ValueTp, std::hash<ValueTp>, std::equal_to<ValueTp>, Alloc> Set; - testUnorderedSet<Set, ValueTp, min_pointer<const ValueTp>>(); - } -#endif -} diff --git a/libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp b/libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp deleted file mode 100644 index d51b1d8d181..00000000000 --- a/libcxx/test/std/containers/unord/unord.map/incomplete_type.pass.cpp +++ /dev/null @@ -1,37 +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. -// -//===----------------------------------------------------------------------===// - -// <unordered_map> - -// Check that std::unordered_map and it's iterators can be instantiated with an incomplete -// type. - -#include <unordered_map> - -template <class Tp> -struct MyHash { - MyHash() {} - std::size_t operator()(Tp const&) const {return 42;} -}; - -struct A { - typedef std::unordered_map<A, A, MyHash<A> > Map; - Map m; - Map::iterator it; - Map::const_iterator cit; - Map::local_iterator lit; - Map::const_local_iterator clit; -}; - -inline bool operator==(A const& L, A const& R) { return &L == &R; } - -int main() { - A a; -} diff --git a/libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp b/libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp deleted file mode 100644 index 7822224e736..00000000000 --- a/libcxx/test/std/containers/unord/unord.multimap/incomplete.pass.cpp +++ /dev/null @@ -1,37 +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. -// -//===----------------------------------------------------------------------===// - -// <unordered_map> - -// Check that std::unordered_multimap and it's iterators can be instantiated with an incomplete -// type. - -#include <unordered_map> - -template <class Tp> -struct MyHash { - MyHash() {} - std::size_t operator()(Tp const&) const {return 42;} -}; - -struct A { - typedef std::unordered_multimap<A, A, MyHash<A> > Map; - Map m; - Map::iterator it; - Map::const_iterator cit; - Map::local_iterator lit; - Map::const_local_iterator clit; -}; - -inline bool operator==(A const& L, A const& R) { return &L == &R; } - -int main() { - A a; -} diff --git a/libcxx/test/std/containers/unord/unord.multiset/incomplete.pass.cpp b/libcxx/test/std/containers/unord/unord.multiset/incomplete.pass.cpp deleted file mode 100644 index f6d8dc17c5a..00000000000 --- a/libcxx/test/std/containers/unord/unord.multiset/incomplete.pass.cpp +++ /dev/null @@ -1,38 +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. -// -//===----------------------------------------------------------------------===// - -// <unordered_set> - -// Check that std::unordered_multiset and it's iterators can be instantiated with an incomplete -// type. - -#include <unordered_set> - -template <class Tp> -struct MyHash { - MyHash() {} - std::size_t operator()(Tp const&) const {return 42;} -}; - -struct A { - typedef std::unordered_multiset<A, MyHash<A> > Map; - Map m; - Map::iterator it; - Map::const_iterator cit; - Map::local_iterator lit; - Map::const_local_iterator clit; -}; - -inline bool operator==(A const& L, A const& R) { return &L == &R; } - -int main() { - A a; -} diff --git a/libcxx/test/std/containers/unord/unord.set/incomplete.pass.cpp b/libcxx/test/std/containers/unord/unord.set/incomplete.pass.cpp deleted file mode 100644 index c970c1de553..00000000000 --- a/libcxx/test/std/containers/unord/unord.set/incomplete.pass.cpp +++ /dev/null @@ -1,38 +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. -// -//===----------------------------------------------------------------------===// - -// <unordered_set> - -// Check that std::unordered_set and it's iterators can be instantiated with an incomplete -// type. - -#include <unordered_set> - -template <class Tp> -struct MyHash { - MyHash() {} - std::size_t operator()(Tp const&) const {return 42;} -}; - -struct A { - typedef std::unordered_set<A, MyHash<A> > Map; - Map m; - Map::iterator it; - Map::const_iterator cit; - Map::local_iterator lit; - Map::const_local_iterator clit; -}; - -inline bool operator==(A const& L, A const& R) { return &L == &R; } - -int main() { - A a; -} |