Revert "Revert "Merge to upstream r304942.""

This reverts commit 38a0d5af7e.

Test: make checkbuild
Test: ./run_tests.py
Test: ./run_tests.py --bitness 64
This commit is contained in:
Dan Albert
2018-01-17 14:21:02 -08:00
parent 38a0d5af7e
commit c79549b70e
1102 changed files with 19092 additions and 14798 deletions

View File

@@ -20,16 +20,22 @@
#include "test_iterators.h"
struct eq {
eq (int val) : v(val) {}
bool operator () (int v2) const { return v == v2; }
int v;
};
int main()
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
input_iterator<const int*> r = std::find_if(input_iterator<const int*>(ia),
input_iterator<const int*>(ia+s),
std::bind2nd(std::equal_to<int>(), 3));
eq(3));
assert(*r == 3);
r = std::find_if(input_iterator<const int*>(ia),
input_iterator<const int*>(ia+s),
std::bind2nd(std::equal_to<int>(), 10));
eq(10));
assert(r == input_iterator<const int*>(ia+s));
}

View File

@@ -20,16 +20,23 @@
#include "test_iterators.h"
struct ne {
ne (int val) : v(val) {}
bool operator () (int v2) const { return v != v2; }
int v;
};
int main()
{
int ia[] = {0, 1, 2, 3, 4, 5};
const unsigned s = sizeof(ia)/sizeof(ia[0]);
input_iterator<const int*> r = std::find_if_not(input_iterator<const int*>(ia),
input_iterator<const int*>(ia+s),
std::bind2nd(std::not_equal_to<int>(), 3));
ne(3));
assert(*r == 3);
r = std::find_if_not(input_iterator<const int*>(ia),
input_iterator<const int*>(ia+s),
std::bind2nd(std::not_equal_to<int>(), 10));
ne(10));
assert(r == input_iterator<const int*>(ia+s));
}