Add tests for LWG#2299. While doing so, I noticed that the tests we have for the transparent comparators don't actually call them. Fix those tests, too. Now one of them is failing, due to a missing const in <map>. Add that (twice). Next step is to do the same for <unordered_map>
git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@241091 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
|
||||
// <map>
|
||||
// <multimap>
|
||||
|
||||
// class multimap
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
#include "min_allocator.h"
|
||||
#include "private_constructor.hpp"
|
||||
#include "is_transparent.h"
|
||||
|
||||
int main()
|
||||
{
|
||||
@@ -219,6 +220,28 @@ int main()
|
||||
r = m.equal_range(10);
|
||||
assert(r.first == m.end());
|
||||
assert(r.second == m.end());
|
||||
|
||||
r = m.equal_range(C2Int(4));
|
||||
assert(r.first == m.begin());
|
||||
assert(r.second == m.begin());
|
||||
r = m.equal_range(C2Int(5));
|
||||
assert(r.first == m.begin());
|
||||
assert(r.second == next(m.begin(), 3));
|
||||
r = m.equal_range(C2Int(6));
|
||||
assert(r.first == next(m.begin(), 3));
|
||||
assert(r.second == next(m.begin(), 3));
|
||||
r = m.equal_range(C2Int(7));
|
||||
assert(r.first == next(m.begin(), 3));
|
||||
assert(r.second == next(m.begin(), 6));
|
||||
r = m.equal_range(C2Int(8));
|
||||
assert(r.first == next(m.begin(), 6));
|
||||
assert(r.second == next(m.begin(), 6));
|
||||
r = m.equal_range(C2Int(9));
|
||||
assert(r.first == next(m.begin(), 6));
|
||||
assert(r.second == next(m.begin(), 9));
|
||||
r = m.equal_range(C2Int(10));
|
||||
assert(r.first == m.end());
|
||||
assert(r.second == m.end());
|
||||
}
|
||||
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user