Hi all, I've been experimenting with indirect_iterator, which seems to be a very useful concept. However, I'm having some trouble getting it to work in the case where I want to fill a container with pointers to values, not just getting at the data. For example, this compiles but segfaults: std::vector < int * > v( 10 ); std::fill( boost::make_indirect_iterator( v.begin() ), boost::make_indirect_iterator( v.end() ), 1.0 ); Another case: std::vector< boost::shared_ptr<double> > v(10); std::vector< boost::shared_ptr<double> > w(10); // v gets filled somehow std::copy( boost::make_indirect_iterator( v.begin() ), boost::make_indirect_iterator( v.end() ), boost::make_indirect_iterator( w.begin() ) ); Why isn't this working? Also, some way to get it to work as a back_insert_iterator would be interesting, does this exist (aside from writing your own)? If not, are there any plans to incorporate it in future versions? -- Alex Borghgraef -- Alex Borghgraef