ptr_vector<T>::resize creates new objects using 'new T' instead of 'new T()', which results in uninitialized objects if T is a POD. For consistency with STL containers (std::vector in particular) all PODs must be explicitly initialized.
Test:
#include <cassert>
#include <boost/ptr_container/ptr_vector.hpp>
int main()
{
boost::ptr_vector<int> v;
v.resize(1);
assert(v[0] == 0); // Might fail.
}
ptr_circullar_buffer has the same problem.
Roman Perepelitsa.