Ivan> BTW regarding ranges do you feel they should be implicitly convertible to bool.
C++11 has explicit operator bool(), which is nice and safe, but I don't have a strong opinion about whether ranges/containers should be boolean-testable. I guess it would be reasonable.
VSChawathe> I was advised by one of my engineering lecturers that do while finds use to handle errors- perform operation and if not error repeat.
I don't buy that. Such do-while loops can be transformed into while loops by initializing err to success.
> Thank you for helping me learn C++ renaissance with yourself (including your team).
> I just observed the buffered data with reinterpretation.
This is bad because it's dependent on your platform's integer widths, layout, endianness, etc. (fread()/fwrite() may encourage it, but they're from a simpler era.) You should use a serialization library instead.