#include #include #include #include #include #include #include using namespace std ; using namespace boost::lambda ; struct temp { temp () { vector vi ; vi.push_back (0) ; vi.push_back (1) ; vi.push_back (0) ; vi.push_back (1) ; vi.push_back (0) ; vi.push_back (1) ; vi.push_back (0) ; vi.push_back (1) ; // I want to call is_zero function on every element of the container vi. //for_each (vi.begin(), vi.end(), // if_then (bind (is_zero, _1), cout << "YES" << '\n')) ; for_each (vi.begin(), vi.end(), if_then (bind (&temp::is_zero, this, _1), cout << "YES" << '\n')) ; } ~temp () {} bool is_zero (int i) const { return static_cast(i); } } ; int main (void) { temp t ; }