Re[2]: В полку any_iterators прибыло
От: korzhik Россия  
Дата: 30.10.06 12:27
Оценка: 1 (1) +1
Здравствуйте, MaximE, Вы писали:

ME>korzhik wrote:


>> Для тех кто не в курсе что такое any_iterator<> пару вводных слов:

>> ------------------------------
>> Вот например пишем библиотеку и есть у нас интерфейс который должен
>> принимать итераторы, и мы говорим клиенту: "дай мне итераторы категории
>> не ниже forward iterator, которые разыменовываются в int." Всё.
>> Конкретный тип итераторов нас не интерисует.
>> ------------------------------
>>
>> Ну так вот, что мы имеем:
>>
>> 1.
>>
>> В boost wiki
>> <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl&gt; сказано
>> <http://www.crystalclearsoftware.com/cgi-bin/boost_wiki/wiki.pl?LibrariesUnderConstruction&gt;
>> что Алексей Гуртовой <http://www.boost.org/people/aleksey_gurtovoy.htm&gt;
>> разрабатывает any_iterator. Но пока что в boost он не включён.

ME>Он и в 2003 году был в разработке.


он помоему вообще с 2000 года

ME>[]


>> Вообще интересная штука, помоему достойна для включения в boost


ME>У меня есть большие сомнения относительно совместимости такого итератора с

ME>лучшими практиками программирования. Точно известо, что возвращать
ME>container::iterator (не any_iterator) — не всегда хорошая практика, т.к.
ME>пользователи привязываются к типу итератора конкретного контейнера, что может
ME>вести к проблемам сопровождения кода и есть abstraction leak. По своему опыту,
ME>дизайны которые мне казались удачными, не возвращали итераторов вообще.

ну как раз any_iterator избавляет от этой привязки.
А насчёт возвращения итераторов, то это конечно надо каждый случай отдельно рассматривать.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.