Assume the presence of c++20 ranges (#2076) * remove support for building without c++20 ranges * use range algorithms where appropriate
final bits for GTC 2026