
So for me 'IEEE' format is the best approach one could use. Boost.archive is so simple and easy to use (with a little care) that I see no reason why we should not get an efficient portable binary archive with floats.
If a 'truly portable binary archive' is so difficult to achieve, we do not have to call Christian's implementation 'portable'. I mean, why cannot we make the current 'binary archive' almost portable by 1. Make types such as integers portable, 2. Use IEEE745 format to make float and double almost portable, 3. Give a mechanism to test if a system is IEEE745 compatible, and mark if an archive is created on a compatible system. Most users would still treat this 'binary archive' as non-portable, as it is the case now. For other users who care about portability, they are given a function to test if an archive can be opened safely on another system. I would consider this as a great improvement over the existing 'binary archive' implementation. Cheers, Bo