Boost logo

Boost :

From: Peter Dimov (pdimov_at_[hidden])
Date: 2002-03-01 07:54:08


From: "Vladimir Prus" <ghost_at_[hidden]>
> I don't think there's consensus on describe vs. load/save question. Having
> recorded this, I suggest that we postpone this question until other issues
> are resolved.

A single describe() method doesn't work for the following reasons:

1. const correctness.
2. read/write assymetry.
2a. sequence serialization:

template<class R, class T, class A> void read(R & r, std::vector<T, A> & v,
int)
{
    int m = begin_sequence(r);
    v.resize(m);
    if(m > 0) read_sequence(r, &v[0], m, 0);
    end_sequence(r);
}

vs

template<class W, class T, class A> void write(W & w, std::vector<T, A>
const & v, int)
{
    int m = v.size();
    begin_sequence(w, m);
    if(m > 0) write_sequence(w, &v[0], m, 0);
    end_sequence(w, m);
}

2b. versioning. When Complex version 1 is serialized as polar coordinates
but version 2 is cartesian, read/write are assymetric.

There probably is a solution to these problems but I haven't found it yet
('cause I didn't look that hard.)


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk