Boost logo

Boost :

From: Vladimir Prus (ghost_at_[hidden])
Date: 2003-10-23 09:22:19

I'm completely at loss how to serialize classes which use the pimpl idiom.
What I have is:

    class BlockFormula {
        struct data;
        boost::scoped_ptr<data> m_data;

The "data" class is defined in cpp file. I can't write serialization method of
the form:

    template<class Archive>
    void serialize(Archive& ar, unsigned version)
        ar & *m_data;

since "data" is incomplete type at the point where this "serialization" is
seen. I'd rather not hardcode the type of archieve, as in

    void serialize(boost::archive::text_oarchive& ar, unsigned version);
    // definition in cpp file, where "data" definition is visible.

So, what's the solution?


Boost list run by bdawes at, gregod at, cpdaniel at, john at