$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Michael Behrns-Miller (m_at_[hidden])
Date: 2005-07-01 10:07:47
> I've become very skeptical of my ability to predict how other programmers
> are going to address things. I'm willing to wait and see.
>
> So I'm anxious to see where this goes. If in fact we do get a wave of
> users with problems, I'll be forced to modify my point of view in the
> face of the facts. If (almost) no one complains (perhaps unlikely) then
> there will be no issue. If there are a fair number of complaints - but
> it turns out that a significant portion are due to real mistakes - we
> might be in for another debate. But given more data, I would expect it
> to be of a different character. If it turns out (almost) none of the
> cases are real problems, then I'll have to accept as a fact that its a
> bad idea.
As a new boost user I thought I would humbly submit some feedback.
Forgive me if I missed nuances of the existing debates.
1) I love the serialization library, I'm sure many of us have done similar
code before, and it's great to see work towards a standardized solution.
Really useful, thanks Robert!
2) The new "const required to save" restriction bit me, took a day or two
to work through the mailing list and #boost to figure out the problem. Is
there a way to make the end-of-the-chain error message
(`boost::STATIC_ASSERTION_FAILURE<false>' does not
have member `value') more clear? I would rate the severity of the
difficulty a 2 or 3 out of 10, from a new user's perspective. It seemed
intuitive enough once I understood the requirement. Putting the
serialization save calls within a const save(archive) function of the
object being serialized made it a non-issue for me. I haven't used it
enough to say I won't run into the const issue again, but at least I know
about it now.
3) I realize I can split serialize() into separate load/save functions.
However, I appreciate the recommendation to use one serialize() function,
where the load/save order is easier to maintain. However again, I
absolutely need (I think :>) to know, within that function, if I am
loading or saving. It's the only way I can efficiently handle versioning
or handle dynamic allocations, and still use one serialize() function, as
far as I can tell. Bottom line: I now have
isSaving(archive)/isLoading(archive) functions, can these be added to the
library? Or am I approaching this wrong?
As I've said, I'm brand new at this. I'm providing this feedback for two
reasons: to give you an idea of what I ran into as a new user, and to get
suggestions on anything I'm approaching in the wrong way.
Thanks again boost.