![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| boostcoder |
|
||||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
всем доброго дня.
для некоторой статьи(man`а) пытаюсь разобраться с требованиями для ConstBufferSequence и для собственного итератора соответствующего требованиям BidirectionalIterator. нарукоблудил такой код:
http://liveworkspace.org/code/caf388f3bfbc...e68474e64d4b1fc сейчас получаю ошибку:
дальше мыслей нет. подскажите, что оно от меня кочет? зы коверкать русяз весьма прикольно бывает Это сообщение отредактировал(а) boostcoder - 29.8.2011, 19:05 |
||||
|
|||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
показывает, что не распознает класс как итератор.. наследование поможет.. ну раз буффер константный begin() и end() нужно соотвественно пометить.. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
я, конечно, любитель лаконичности. но Ваш ответ -
даже меня повергает в тупик |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 144 Всего: 250 |
http://cplusplus.com/reference/std/iterator/iterator/ P.S. а насчет лаконичности, нужно рассматривать цитату целиком :
т.е. наследование поможет распознать класс как итератор, и, я так понимаю, единственно напрашивающий вывод : отнаследовать от итераторной базы.. Это сообщение отредактировал(а) mes - 30.8.2011, 08:22 |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
boostcoder, от тру-итератора требуется куча всяких определений типов и прочая. Либо наследуйся от подходящий базы, как посоветовал mes, либо посмотри на бустовские iterator-facade и iterator_adaptor - очень полезные классы; я все доморощенные итераторы через них делаю.
-------------------- ... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
хм.. никогда не использовал... я вообще, по моему впервые, задумался над реализацией и требованиями к итераторам. |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 53 Всего: 183 |
Дык пора уже - иначе какой ты бусткодер
Действительно, классы полезные, и там же еще несколько полезных готовых итераторов-оберток типа counting_iterator. С помощью iterator_adapter можно, например, ограничить доступ к деталям контейнера в каком-то сложном объекте. Например, в контейнере хранятся какие-то объекты с кучей подробностей, но клиенту ты хочешь предоставить только часть этой информации, и вообще сделать так, чтобы он не знал о деталях устройства контейнера. Вот тут-то iterator_adaptor как нельзя более кстати. -------------------- ... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
раньше что-то задачи не было.. сижу - читаю... |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
наследованием, получился такой код:
http://liveworkspace.org/code/6cd54ffb9aab...703376c760abd87 сейчас попробую с помощью boost.iterator. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
ну правильно. при разыменовании итератора я получаю boost::asio::const_buffer. или что? Добавлено через 30 секунд эм.. пропал Ваш пост |
|||
|
||||
| mabrarov |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 100 Регистрация: 12.1.2011 Где: Казань Репутация: 8 Всего: 9 |
Доброй ночи. Не в тему итераторов, но в тему Asio BufferSequence - ma::cyclic_buffer. |
|||
|
||||
| boostcoder |
|
|||
![]() pattern`щик ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5458 Регистрация: 1.4.2010 Репутация: 49 Всего: 110 |
mabrarov, здравствуйте.
ma::cyclic_buffer я смотрел. даже понял что и как но сия тема возникла в следствии непонимания(не умения?) реализовывать тип в соответствии с требованиями BidirerctionalIterator. но вроде разобрался. закрою тему позже. зы по поводу критики/комментариев к статье - все приветствуется Это сообщение отредактировал(а) boostcoder - 30.8.2011, 23:35 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |