#include <algorithm>
#include <functional>
#include <cassert>
#include "../../iterators.h"
int main()
{
int ia[] = {0, 1, 2, 2, 0, 1, 2, 3};
const unsigned sa = sizeof(ia)/sizeof(ia[0]);
assert(std::count_if(input_iterator<const int*>(ia),
input_iterator<const int*>(ia + sa),
std::bind2nd(std::equal_to<int>(),2)) == 3);
assert(std::count_if(input_iterator<const int*>(ia),
input_iterator<const int*>(ia + sa),
std::bind2nd(std::equal_to<int>(),7)) == 0);
assert(std::count_if(input_iterator<const int*>(ia),
input_iterator<const int*>(ia),
std::bind2nd(std::equal_to<int>(),2)) == 0);
}