struct A { void a(); };type std::vector<boost::shared_ptr<A> > VecType;VecType v;for (VecType::iterator i=v.begin(); i != v.end(); ++i ) (*i)->a();How can I write that as a for_each loop?