C++ range library