|
Boost Users : |
From: Peter Dimov (pdimov_at_[hidden])
Date: 2005-03-03 08:14:36
Johan Nilsson wrote:
[...]
> std::vector<shared_ptr<Foo> > foos(10);
> std::for_each(foos.begin(), foos.end(),
> _1 = shared_ptr<Foo>(new Foo));
Lambda way (according to the docs, I haven't tried it):
std::for_each( foos.begin(), foos.end(),
_1 = bind( constructor< shared_ptr<Foo> >(), new_ptr<Foo>() )
);
(probably leaks when new throws)
Old school way:
shared_ptr<Foo> createFoo()
{
return shared_ptr<Foo>( new Foo );
}
std::generate( foos.begin(), foos.end(), createFoo );
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net