I have a question for boost:binders out there... In the following scenario..(pseudocode) Class Fred { typedef std::map<wstring, shared_ptr<SomeType> > MyMap; MyMap Bert; Save(MyMap::iterator pos) { ... } SaveAll() { for_each(Bert.begin(), Bert.end(), bind(&Fred::Save, this, _1); } }; The code wants to save all the data in the map. The bind, I was hoping, would simply call Save for all items in the map, passing in the iterator as the parameter, but I get a template compile fault on the bind. I've tried all sorts of combinations, checked boost docs, read the chapter in Beyond the C++ standard library, Googled etc, but just cannot figure out what I need to do here. Any help gratefully received. James This message (including any attachments) contains confidential and/or proprietary information intended only for the addressee. Any unauthorized disclosure, copying, distribution or reliance on the contents of this information is strictly prohibited and may constitute a violation of law. If you are not the intended recipient, please notify the sender immediately by responding to this e-mail, and delete the message from your system. If you have any questions about this e-mail please notify the sender immediately.