why?
typedef ... K; typedef std::map<k , HANDLE> map_type; map_type map_; ... std::for_each(map_.begin(), map_.end(), boost::bind(&map_type::value_type::second, _1)); // this works std::for_each(map_.begin(), map_.end(), boost::bind(WSACloseEvent, boost::bind(&map_type::value_type::second, _1))); // this barfs inside boost::bind ... incomplete type