... already encoded in the type of the container, and redundant information of this kind is typically unnecessary for modern libraries). std: :for_ each( p_statuses.begin(), p_statuses.end(), boost::bind(&status::report,_1)); ... intimidating at first, and by all rights it is because we have yet to define part of the machinery. However, the part to focus on here is where the type deduction takes place. You'll note ... binder that, at least in part, mimics the syntax of Boost.Bind. To avoid stretching this digression over several pages, we shall only support one type of binding, and that is for a member function...