Boost Serialisation problem

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Boost Serialisation problem

CL90
This post has NOT been accepted by the mailing list yet.
Hi. if have an problem with the Boost serialisation, i dont understand.
Somehow i cant read files that are made of classes with multiple classes.

if i decrease the looplength everything works, but if the loop reaches one exact point, (i < 26) it crashes when i want to read the file. any ideas?

Code:
        _IndexCluster z(0, 0, 0);

        for(int i = 0; i < 26; i++) {   // change the loop length here
                _IndexCluster a(0, 0, 0);
                z.insert(a);
        }

        ofstream treeout("bla.Arv");
        {
                boost::archive::binary_oarchive oa(treeout);
                oa << z;
        }
        treeout.close();

        _IndexCluster n;
    {
        std::ifstream treein("bla.Arv");
                boost::archive::binary_iarchive ia(treein);
        ia >> n; // crash!
    }


The class _index Cluster is very simple:

class _IndexCluster {
        public:
                 _IndexCluster(_u32 key, _u32 byteOffset, _u32 size);

                void insert (_IndexCluster obj);

        private:
                friend class boost::serialization::access;
                template<class Archive>
                void serialize(Archive& ar, _u16 version) {
                        ar & m_Key;
                        ar & m_byteOffset;
                        ar & m_Size;
                        ar & m_subCluster;
                }

                _u32 m_Key;
                _u32 m_byteOffset;
                _u32 m_Size;
                vector<_IndexCluster> m_subCluster;

};
Loading...