Boost logo

Boost :

Subject: Re: [boost] [explore] Library Proposal: Container Streaming
From: Jeffrey Bosboom (jbosboom_at_[hidden])
Date: 2009-12-01 16:01:40


Robert Ramey wrote:
> Jeffrey Bosboom wrote:
>> Robert Ramey wrote:
>>> Jeffrey Bosboom wrote:
>>>> I've written simple versions of streaming operators (both output and
>>>> input) for the standard containers as a simple, low-barrier-to-entry
>>>> form of serialization. Do you plan to provide the input operators
>>>> too? (I understand this would involve some restrictions on the
>>>> streamed forms of the container elements to prevent parsing
>>>> ambiguity.)
>>> how would this be different than just writing a special archive
>>> class and using boost seriallization?
>>>
>>> Robert Ramey
>> It didn't require learning to use Boost.Serialization.
>
> Here is what you're example looks like with boost serialization
> [snip]
> I don't see it as being any more difficult to use/learn than the library
> you propose.

It isn't really "more difficult", but in terms of the time required to
write two template functions that contain a for loop each to serialize a
std::vector<T> versus the time to read how to use Boost.Serialization,
the template functions win.

>> Also, in the
>> specific case I needed this for, I was running code on a cluster where
>> Boost was not available, so it was lighter-weight (although obviously
>> far less featureful).
>
> I don't see how one is going to run boost libraries in an
> environment were boost is not available.

explore (or whatever it's called) wouldn't need to depend on any other
part of Boost, so I can just copy the header files. This is opposed to
Serialization, which depends on other parts of Boost (I think, not
exactly sure) and needs to be built and linked against.

In any case, if the input operators are not being provided, I wouldn't
be able to use explore for serialization anyway.

--Jeffrey Bosboom


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