хотелки.
Идеологически:
Ты просишь выставить наружу кусок стандартной либы, потому что тебе не нравится как сделан этот же кусок стандартной либы. Не означает ли, что надо как минимум нормально собрать мысли и показать, что не так в стандартной либе (нет, вот эти две строчки про сиквенсы - это не "показать что не так")
Технически:
Из описания совсем непонятно что вообще надо выставить наружу? Классы? Так функции считай их же и инстанциируют. Реализацию итератора? Либо также будет завязана на сиквенс, либо не очень реально, ибо структурной типизации нету (нельзя попросить на вход абстрактное что-то у чего есть итератор). Вытащить функцию Iterator -> Iterator? Вроде будут аллокации лишние и у тебя, и в стандартной либе.
Итераторы никак не завязаны на сиквенсы. Там, где написано val iterator = sequence.iterator(), можно сделать параметр конструктора.
Обсуждают сегодня