On October 15, 2014 7:38:37 PM EDT, Indiana
I decided to take the opportunity to examine a possibility that a couple people have asked about: whether or not these
C++11 facilities can be made available to C++98 code. Looking into that
possibility is what's kept me occupied recently.
That's where I hit a little snag.
It turns out is probably *possible* to implement the facilities in C++98... however, it is impossible to do so in a way that guarantees safety. The problem is that C++98 has no way to prevent you from passing a temporary to a function except by taking the argument by non-const (lvalue) reference, which is too restrictive to help in this case.
[snip rationale]
So unless anyone objects, I'm going to go ahead and make this "RangeIO"
library require C++11. (Specifically, I'm going to make it require rvalue references - I'm not going to use any more C++11 functionality than is absolutely necessary, so no auto or non-static member initializers, etc.. For example, I will have it use std::initializer_list, but only if BOOST_NO_CXX11_HDR_INITIALIZER_LIST is not defined.)
I see no problem with that. ___ Rob (Sent from my portable computation engine)