Thank you. It may seem that I'm going about this the 'hard' way, but I'm really using it to get a grip on the boost::bind library. Thanks again. Mark. Peter Dimov wrote:
From: "Mark Snelling"
Ok, I understand the following:
std::for_each(mylist.begin(),mylist.end(),boost::checked_deleter<Object>());
But when I try to use the boost::checked_deleter on the objects held in a map using your solution to my first problem I don't seem to be able to get it to compile:
template
void for_each_pair(It first, It last, F f) { for(; first != last; ++first) { f(first->first, first->second); } } int main() { std::map
blocks; std::for_each_pair(blocks.begin(), blocks.end(), boost::bind(boost::checked_delete<Block>(), _2)); } checked_delete is a function template (no trailing 'r'); checked_deleter is a class template. :-)
Also, on MSVC 6/7 you need to specify a return type when binding general function objects:
boost::bind<void>(boost::checked_deleter<Block>(), _2)
Info: http://www.boost.org Wiki: http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl Unsubscribe: mailto:boost-users-unsubscribe@yahoogroups.com
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/