I spent some time recently learning much more about C++ templates and generic
programming in C++. As part of this I wrote a subrange type for C++. It seems
only reasonable to release this (under the Boost Licence version
1.0) in case it is any use to anyone.
More details on subrange are here.