
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