Passing a member function to for_each
The "solution" below compiles but it is not what I want. I would like to pass the `put` member function to `for_each` and not `*this`. Using boost is **NOT** an option. Can this be solved within C++03?

    #include <algorithm>
    #include <functional>
    #include <vector>
    using namespace std;
    
    class Wheel { };
    
    class Car {
    
    public:
    
    	void process(const vector<Wheel>& wheel) {
    
    		for_each(wheel.begin(), wheel.end(), *this);
    	}
    
    	void operator()(const Wheel& w) { put(w); }
    
    private:
    
    	void put(const Wheel& w) { }
    };
    
    int main() {
    
    	vector<Wheel> w(4);
    
    	Car c;
    
    	c.process(w);
    
    	return 0;
    }


Passing a member function to for_each
===

The "solution" below compiles but it is not what I want. I would like to pass the `put` member function to `for_each` and not `*this`. Using boost is **NOT** an option. Can this be solved within C++03?

    #include <algorithm>
    #include <functional>
    #include <vector>
    using namespace std;
    
    class Wheel { };
    
    class Car {
    
    public:
    
    	void process(const vector<Wheel>& wheel) {
    
    		for_each(wheel.begin(), wheel.end(), *this);
    	}
    
    	void operator()(const Wheel& w) { put(w); }
    
    private:
    
    	void put(const Wheel& w) { }
    };
    
    int main() {
    
    	vector<Wheel> w(4);
    
    	Car c;
    
    	c.process(w);
    
    	return 0;
    }

