|
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