
That's what I do too: using fp_utilities I dump the bit pattern and restore it later on. This works for "almost all" environments. However, the word "almost" is a problem for an ultraportable library such as boost. Andrea Denzler already mentioned the difficulties: IEEE754 is not universally, nan-representations and endianness differ and forget about long double when talking about portability. Conclusion: the "definitive, portable manner" Robert talks about will be very hard to achive. On the other hand: supporting IEEE 754 types float and double is (almost) easy. Let's be pragmatic about that!
Thank you very much for your explanation. My understanding now is that your version of portable binary serialization supports, like Qt, only IEEE754 floating types, and the official version under boost/examples does not. Does your implementation provides a mechanism to test IEEE754 floating point support? If I am going to use your library, I need to at least give a warning in such cases, something like "This system does not support IEEE754 floating point presentation so the created archive may not be read correctly on other systems". I would consider my program portable enough if this can be done. Thank you very much. Bo