QGVector has a write and read method which are called with QDataStream and the << >> methods. QVector then inherits these. The documentation for these functions say they are internal use only. I think from examples that the number of non null elements of the vector is written to the stream and then all the the non null elements after. From a stream the number of elements is read then the elements themselves of which none are null. Can anyone confirm this? Regards Nick