#c #algorithm #stl #iterator #wrapper
#c #алгоритм #stl #итератор #оболочка
Вопрос:
Кто-нибудь знает о файле заголовка или потратил время на то, чтобы обернуть все алгоритмы самостоятельно?
Ie
std::fill(iterator start, iterator stop, value_type val) ->
xxx::fill(containeramp; c, value_type val)
Обновить:
Кажется, boost range делает именно то, что я хочу.
Комментарии:
1. Потому что мне лень писать это самому
2. Но почему? Что такого сложного в написании begin и end?
3. Занимает горизонтальное пространство, труднее читается, требует времени, и я устал от этого, в 99% случаев я все равно использую весь диапазон.
4. @Nikko: не весь Boost, поскольку Boost . Диапазон включает версии алгоритмов, которые работают с диапазонами, а контейнеры являются диапазонами.
5. Хорошее применение для такого рода вещей — std::copy для копирования из одного временного контейнера в другой. Например, IMO
xxx::copy( get_container(), target_container)
аккуратнее, чемauto temp = get_container(); std::copy(temp.begin(),temp.end(),target_container);
.
Ответ №1:
Диапазон увеличения
http://www.boost.org/doc/libs/1_47_0/libs/range/doc/html/index.html