//===----------------------------------------------------------------------===// // // The LLVM Compiler Infrastructure // // This file is distributed under the University of Illinois Open Source // License. See LICENSE.TXT for details. // //===----------------------------------------------------------------------===// // // template // bool // all_of(InputIterator first, InputIterator last, Predicate pred); #include #include #include "../../iterators.h" struct test1 { bool operator()(const int& i) const { return i % 2 == 0; } }; int main() { { int ia[] = {2, 4, 6, 8}; const unsigned sa = sizeof(ia)/sizeof(ia[0]); assert(std::all_of(input_iterator(ia), input_iterator(ia + sa), test1()) == true); assert(std::all_of(input_iterator(ia), input_iterator(ia), test1()) == true); } { const int ia[] = {2, 4, 5, 8}; const unsigned sa = sizeof(ia)/sizeof(ia[0]); assert(std::all_of(input_iterator(ia), input_iterator(ia + sa), test1()) == false); assert(std::all_of(input_iterator(ia), input_iterator(ia), test1()) == true); } }