Цитата:
[ тут идет код итерирующий range «от» и «до»]
Есть один минус у STL-итераторов не заметный на первый взгляд, итераторы Java этого минуса лишены.
[тут идет код итерирующий от «начала» до «конца»]
Ценю Вашу работу. Активно использую LINQ в C# и разного рода itertools/filter/map/reduce/any/генераторы списков в Python. Очень неплохо иметь похожие механизмы в С++.
На вашем месте я бы все-таки не использовал неявные конструкторы преобразования типов там, где это явно не требуется.
Например, зачем вам неявный разворот последовательности, если для этой цели предполагается использовать явную функцию reverse?
Кроме того, ваши диапазоны (***Range) невозможно нормально передать в функцию, поскольку их тип постоянно меняется (а писать всюду шаблоны — тоже не лучший выход). Хотелось бы полиморфную обертку к ним.
Внутренность boolinq для взрослых