summaryrefslogtreecommitdiffstats
path: root/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp')
-rw-r--r--libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp b/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp
index 1da86067662..ddfc3742f5c 100644
--- a/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp
+++ b/libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp
@@ -23,6 +23,8 @@
#include <unordered_set>
#include <cassert>
+#include "../../min_allocator.h"
+
int main()
{
{
@@ -63,4 +65,46 @@ int main()
assert(std::distance(c.cbegin(), c.cend()) == c.size());
C::const_iterator i;
}
+#if __cplusplus >= 201103L
+ {
+ typedef std::unordered_multiset<int, std::hash<int>,
+ std::equal_to<int>, min_allocator<int>> C;
+ typedef int P;
+ P a[] =
+ {
+ P(1),
+ P(2),
+ P(3),
+ P(4),
+ P(1),
+ P(2)
+ };
+ C c(a, a + sizeof(a)/sizeof(a[0]));
+ assert(c.bucket_count() >= 7);
+ assert(c.size() == 6);
+ assert(std::distance(c.begin(), c.end()) == c.size());
+ assert(std::distance(c.cbegin(), c.cend()) == c.size());
+ C::iterator i;
+ }
+ {
+ typedef std::unordered_multiset<int, std::hash<int>,
+ std::equal_to<int>, min_allocator<int>> C;
+ typedef int P;
+ P a[] =
+ {
+ P(1),
+ P(2),
+ P(3),
+ P(4),
+ P(1),
+ P(2)
+ };
+ const C c(a, a + sizeof(a)/sizeof(a[0]));
+ assert(c.bucket_count() >= 7);
+ assert(c.size() == 6);
+ assert(std::distance(c.begin(), c.end()) == c.size());
+ assert(std::distance(c.cbegin(), c.cend()) == c.size());
+ C::const_iterator i;
+ }
+#endif
}
OpenPOWER on IntegriCloud