use range_adaptor to implement delimit_range_view