
"niranjan bangera" <niranjannina@gmail.com> wrote in message news:50a2f6f20902172223s69f3d39ft2b337c0c3ec6dbbc@mail.gmail.com... Hi all, I want to clarify myself in serialization of union and array, Please clarify my doubts. Boost Version:1.36.0 Compiler :/_TOOLS_/dist/gnu-gcc-/4.1.1-binutils-2.16.1/x86_64-pc-linux2.4/bin/gcc class A { union my_union { uint64_t array1[ 4]; int64_t array2[4]; double dbl [4]; uint32_t array3 [ 8 ]; int32_t array4 [ 8 ]; float flt [ 8]; uint16_t array5[ 16 ]; int16_t array6[ 16 ]; uint8_t array7 [ 32 ]; int8_t arrray8[ 32 ]; } my_union my_obj; friend class boost::serialization::access; template<class Archive> void serialize(Archive & ar, const unsigned int file_version) { ar & my_obj.array1; } }; Is it safe to do it, or any othe optimised method is there to do it? This should work if my_union in fact contains array1[4]. But what happens if it contains something else. Look into variant which is typesafe AND already serializable. how to serialize a dynamicaly allocated array struc my_struct{ int x; } struct new_struct { { my_struct **my_var; ///my_struct is a structure defined before this structure. } Currently, pointers to pointers cannot be serialized. This is the subject of a TRAK item. In this case do i need to serialize each element int the array manually, Pointed By my_var Consider using a pointer to an std::vector. Serialization is free for this case. Is there other some other way to do it... Thanks, Niranjan Robert Ramey ------------------------------------------------------------------------------ _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users