_duplicate() now performs a deep copy on the BaseType* instances used to \n\ hold values in the field _vec (used when there's a Vector of Structures, et c.). set_vec()\n\ now calls ptr_duplicate() on the BaseType* passed in to be used as a value for \n\ element i. This might seem odd (and it might hose performance, we may have to \n\ add another method to skirt the copy for some people) but it fits with the \n\ memory model where anything allocated outside the library can be freed outside the \n\ library. Not performing the deep copy and then freeing the objects in _vec in the dtor\n\ caused all sorts of problems, as one might imagine. I also fixed up the comments.
_duplicate() now performs a deep copy on the BaseType* instances used to \n\
hold values in the field _vec (used when there's a Vector of Structures, et c.). set_vec()\n\
now calls ptr_duplicate() on the BaseType* passed in to be used as a value for \n\
element i. This might seem odd (and it might hose performance, we may have to \n\
add another method to skirt the copy for some people) but it fits with the \n\
memory model where anything allocated outside the library can be freed outside the \n\
library. Not performing the deep copy and then freeing the objects in _vec in the dtor\n\
caused all sorts of problems, as one might imagine. I also fixed up the comments.


OPENDAP/libdap4,OPENDAP/libdap4,OPENDAP/libdap4,OPENDAP/libdap4,OPENDAP/libdap,OPENDAP/libdap,OPENDAP/libdap4,OPENDAP/libdap,OPENDAP/libdap4,OPENDAP/libdap