diff options
Diffstat (limited to 'libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp')
| -rw-r--r-- | libcxx/test/containers/unord/unord.multiset/iterators.pass.cpp | 44 |
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 } |

