boost range based algorithm and range adaptors