Paul Giaccone wrote:
I haven't yet read the later messages, but from my point of view (a typical user), the bottom line *must* be:
1. If you can legitimately write it to an archive, you *must* be able to read it it back in. If not, the archive is useless, and the library is buggy. 2. Conversely, if you cannot legitimately read it, you must *not* allow it to be written out - throw an exception or handle it in some other way, but you *must* advise the user somehow. If not, the library is buggy.
I've now read the rest of the thread and appreciate that the above requirements might be too idealistic and not necessarily practicable on all operating systems. In any case, however this issue is resolved practically, I think it is important that it goes into the user documentation, including whether or not the behaviour is supported but also on which platforms, if not all of them. I see that there is already discussion under "Archive Exceptions" of what can cause each of the exceptions, which is great. Could you add to the discussion of "stream_error" that the user should check to see that all archived variables are initialised? This would be useful, and it throws the responsibility back to the user. Thanks, Paul