Writing of complex structures

I am trying to use hdf5 for logging data in a robotics framework.
In this framework we use structures like these :

struct LaserScan
         Time time;
         double start_angle;
         double angular_resolution;
         double speed;
         std::vector<uint32_t> ranges;

struct LaserSweep
     std::vector<LaserScan> scanns;

For the basic data types and structures not containing std::vectors
everything is working so far. My problem are the std::vectors and
how to fit them in the hdf5 type model.

For now my best idea is to use a variable length data type with the correct
nested type. The problem now is that in this case AFAIK hdf5 expects a
size_t and a pointer to the data inside the struct. As I may not modify the
given structure this is a problem for me. Copying the data to a temporary
structure is also not possible/difficult for different reasons.

A way to deal with this would be to write the type in chunks, which would
be possible but might be very complex because of the nested containers.

Is there a better way of handling this ?



  Dipl. Inf. Janosch Machowinski
  SAR- & Sicherheitsrobotik
    DFKI Bremen
  Robotics Innovation Center
  Robert-Hooke-Stra�e 5
  28359 Bremen, Germany
    Phone: +49 (0)421 178 45-6614
  Fax: +49 (0)421 178 45-4150
  E-Mail: robotik@dfki.de
    Weitere Informationen: http://www.dfki.de/robotik
  Deutsches Forschungszentrum fuer Kuenstliche Intelligenz GmbH
  Firmensitz: Trippstadter Stra�e 122, D-67663 Kaiserslautern
  Geschaeftsfuehrung: Prof. Dr. Dr. h.c. mult. Wolfgang Wahlster
  (Vorsitzender) Dr. Walter Olthoff
  Vorsitzender des Aufsichtsrats: Prof. Dr. h.c. Hans A. Aukes
  Amtsgericht Kaiserslautern, HRB 2313
  Sitz der Gesellschaft: Kaiserslautern (HRB 2313)
  USt-Id.Nr.: DE 148646973
  Steuernummer: 19/673/0060/3