Boost logo

Boost :

From: Dave Harris (brangdon_at_[hidden])
Date: 2002-11-24 18:41:35


In-Reply-To: <memo.182933_at_[hidden]>
I have considerable experience with Microsoft's MFC archive library, which
I have found to be deeply flawed. My main concern is that boost not repeat
those mistakes. I have reviewed Robert Ramey's current submission with
that in mind. I have not much looked at the implementation or attempted to
compile it.

Overall I am impressed with the design. It shows an understanding of the
difficulty and subtlty of serialisation issues. I was especially pleased
with how several special-interest issues could be solved incrementally,
often by writing new archive subclasses.

I think all the issues I raised have been resolved:

(1) 1-step construction - can probably be added by 3rd party extensions if
desired (and perhaps shouldn't be desired).

(2) Reference counts - I now believe it gets them right.

(3) Variable length integers - can be provided by 3rd party archive
subclasses if desired.

(4) Numeric limits - I still think these are unnecessary restrictions but
I don't care enough to block acceptance.

I therefore vote in favour of accepting the library into boost.

There are some extra features which I would like to see, but I believe
they can be smoothly added at a later date in separate submissions, judged
on their own merits. These are:

(a) A pair of variable-length integer archive subclasses. I believe these
would provide better time and space efficiency, and also make the archive
format more portable across platforms with different endianness and native
word size.

(b) Simple tagged archive support along the lines of begin_group(),
end_group() and tag() virtual functions. These would enable simple XML,
and also make it much easier to produce human-readable archives for
debugging, error logging, unit test fixtures and the like.

(c) Support for writing blocks of same-type objects with a single virtual
call. I believe this would provide better time and space efficiency.

My approval of the library does not depend on these being done.

Finally I'd like to congratulate Robert Ramey on his accomplishment, and
for his grace under fire. This submission has attracted attention and
criticism commensurate with its importance and difficulty.

-- Dave Harris


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