История изменений
Исправление LamerOk, (текущая версия) :
Сишарпный IEnumerable<T> в переводе на сиплюсплюснотый язык - это прямой итератор чтения / записи без произвольного доступа. В столь любимом вами "современном С++" это комбинация трейтов input_iterator / output_iterator / forward_iterator.
А для бинарного поиска нам нужен трейт random_access_iterator, что в сишарпе предоставляется оператором [].
Исходная версия LamerOk, :
Сишарпный IEnumerable<T> в переводе на сиплюсплюснотый язык - это прямой итератор чтения / записи без произвольного доступа. В столь любимом вами "современном С++" это аналог LegacyInputIterator или комбинация трейтов input_iterator / output_iterator / forward_iterator.
А для бинарного поиска нам нужен трейт random_access_iterator, что в сишарпе предоставляется оператором [].