//: C05:Binder1.cpp // From Thinking in C++, 2nd Edition // Available at http://www.BruceEckel.com // (c) Bruce Eckel 2000 // Copyright notice in Copyright.txt // Using STL "binders" #include "Generators.h" #include "copy_if.h" #include #include #include #include using namespace std; int main() { const int sz = 10; const int max = 40; vector a(sz), r; URandGen urg(max); ostream_iterator out(cout, " "); generate_n(a.begin(), sz, urg); copy(a.begin(), a.end(), out); int* d = find_if(a.begin(), a.end(), bind2nd(less(), 20)); cout << "\n *d = " << *d << endl; // copy_if() is not in the Standard C++ library // but is defined later in the chapter: copy_if(a.begin(), a.end(), back_inserter(r), bind2nd(less(), 20)); copy(r.begin(), r.end(), out); cout << endl; } ///:~