выставить наружу так, чтобы и оптимально было и за тебя апи полностью не имплементить?
Ну, вроде как ты тут оптимизируешь всё, а для этого нужно и лямбду с трансформацией/фильтрацией/whatever инлайнить.
А если инлайнить, то это скорее функция, а не конструктор.
А если функция, то и назвать стоит по аналогии с Iterable/Sequence API?
Если прям совсем идеально делать, то итератор нужно возвращать из функции, которая принимает трансформацию как crossinline-функцию, да.
Обсуждают сегодня