Здравствуйте, DTF, Вы писали:
DTF>Вот вроде бы простая хотелка:
DTF>взять vector<int> или list<int>, отфильтровать значения,
DTF>результат передать в нешаблонную функцию, в этой функции проитерироваться по полученному диапазону
Тогда тебе в придётся делать type-erasure, как, например, делает any_view в ranges-v3:
void Foo(ranges::any_view<int, ranges::category::forward> range) {
for (int i : range) { }
}