
At Tue, 27 Jul 2010 09:19:53 -0800, Robert Ramey wrote:
Matthias Troyer wrote:
On 26 Jul 2010, at 18:25, David Abrahams wrote:
I think it's crucially important to _correctly_ identify the cause of this impedance mismatch, and so far, I don't think that has happened.
Here is the issue: if one does not want to implement serialization from scratch one has to derive from boost::archive::detail::common_[io]archive. The *implicit* and not documented requirements for such a derived archive are to deal with serialization os
- std::string (and optionally std::wstring?) - fundamental C++ integral, boolean, and floating point types - an *unspecified* list of "primitive" types
Those primitive types had the semantics of integral types, but no concepts were documented for those types, and neither were those types one had to support part of the public interface. However, any archive still had to correctly serialize those types. would you call this missing documentation or specification?
First of all - these are serializable types by virtue of the fact that they are convertible to integers and references to integers.
If you are claiming that convertibility to integers and references to integers is enough to satisfy your Serializable concept, I can almost **guarantee** you that the concept is ill-defined, and that using the Boost Concept Check Library properly would prove it. -- Dave Abrahams BoostPro Computing http://www.boostpro.com