Boost logo

Boost :

From: Robert Ramey (ramey_at_[hidden])
Date: 2003-10-13 13:58:45

David Abrahams wrote:

>What if there's just no default constructor, private or otherwise?

Currently you would have to overload:

template<class Archive, class T>
void load(Archive &ar, T * &t, unsigned int version)

for the specifice collection with something like

template<class Archive>
void load(Archive &ar, vector<A> &va, unsigned int version){
        unsigned int size;
        ar >> size;
        while(size-- > 0){
                int i;
                ar >> i;
                A a(i);
                ar >> a;

That is the current default implementation of collection serializaton presumes
the existence of a default constructor for the element. If this isn't true
then the default implementation won't work and you'll have to make your
own override.

Robert Ramey

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