Hm, what's the point in having such collections?
The pointers in a container would refer to data that is stored somewhere.
Since we want to minimize side effects, the only valid use of a pointer
container would be to store a set
of polymorphic objects.
Even now, the ownership question is raised. So, one should use a smart
pointer.
To adapt the pointers for the standard algorithm of the STL, one could use a
projection iterator adapter.
----- Original Message -----
From: "Bohdan"
Has boost any plans on creating container, that holds data by pointer, not by value?
Rationale: It is impossible to use normally vector<...> for types that do not have copy constructor. Interface of vector< shared_ptr<...> > doesn't seems to be very convenient( for example with std::algorithms ). And most of all it is not good idea to show vector< shared_ptr<...> > interface to user of my lib, that wants to have container::iterator with normal behavior.
AFAIK majority of existing libraries have/need such container ? As to me it is strange that neither stl nor boost have such class. I'm missing 'something' and there are important reasons for not doing this ?