Paul Giaccone wrote:
For booleans, though, a value of other than 0 or 1 means it has not been initialised, and perhaps this should throw an exception on writing to the archive rather than on reading from it.
Hmmm, I'm not sure about this. Do we know for a fact that a bool variable will always contain 1 or 0? I've never seen code trap on an un-initialized bool. It seems that even an uninitialized bool corresponds to true or false. Perhaps part of the problem is that I used 0 and 1 for bool variable in order to not included english strings "true" and "false" in text files and to save space. I'll think about this. Robert Ramey
If handling uninitialised variables is not practical, then perhaps there could be a warning in the documentation that uninitialised booleans will cause stream errors on deserialisation.
Paul