Re[2]: Разместить в обратном порядке отображаемые значения s
От: Сыроежка  
Дата: 12.01.12 14:23
Оценка:
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, Сыроежка, Вы писали:


С>>Как проще выполнить реверсию значений элементов для заданного контейнера std::map? То есть ключи остаются на месте, а меняются в обратном порядке отображаемые значения.


M>std::map хранит пары значений ключей, как элемент. Но можно выкрутиться использовав "iterator adaptor" который ходит по мутабельным значениям и применить стандартный reverse.


Проблема в том, что в стандарте нет такого адаптера итератора. Поэтому лучше ввести форму этого алгоритма с предикатом. Тогда не только можно использовать с контейнером sttd::map, но и решать задачи, когда для последовательного контейнера нужно реверсировать не весь элемент целиком, а, допустим, его подчлены. То есть, например, если у вас элементом является некоторая структуру, то нужно реверсировать не всю структуру, а лишь отдельные ее члены.
Сейчас эту задачу даже для последовательного контейнера нельзя решить с помощью стандартного аллгоритма, так как у пользователя нет возможности управлять его работой. Ежели появится форма этого алгоритма с предикатом, то пользователь в предикате может задавать требуемые операции.
Меня можно встретить на www.cpp.forum24.ru
Re[3]: Разместить в обратном порядке отображаемые значения s
От: minorlogic Украина  
Дата: 12.01.12 14:36
Оценка:
Здравствуйте, Сыроежка, Вы писали:

С>Проблема в том, что в стандарте нет такого адаптера итератора.

Я не утверждал что есть, я лишь предложил STL way решение.

С> Поэтому лучше ввести форму этого алгоритма с предикатом. Тогда не только можно использовать с контейнером sttd::map, но и решать задачи, когда для последовательного контейнера нужно реверсировать не весь элемент целиком, а, допустим, его подчлены. То есть, например, если у вас элементом является некоторая структуру, то нужно реверсировать не всю структуру, а лишь отдельные ее члены.

Не лучше. Универсальнее использовать адапторы итераторов которые могут ссылаться на class members.

С>Сейчас эту задачу даже для последовательного контейнера нельзя решить с помощью стандартного аллгоритма, так как у пользователя нет возможности управлять его работой. Ежели появится форма этого алгоритма с предикатом, то пользователь в предикате может задавать требуемые операции.


Порассуждайте не над возможностью , а над целесообразностью.
... << RSDN@Home 1.2.0 alpha 5 rev. 1539>>
Ищу работу, 3D, SLAM, computer graphics/vision.
Re[4]: Разместить в обратном порядке отображаемые значения s
От: Сыроежка  
Дата: 12.01.12 14:43
Оценка: -1
Здравствуйте, minorlogic, Вы писали:

M>Здравствуйте, Сыроежка, Вы писали:


С>>Проблема в том, что в стандарте нет такого адаптера итератора.

M>Я не утверждал что есть, я лишь предложил STL way решение.

С>> Поэтому лучше ввести форму этого алгоритма с предикатом. Тогда не только можно использовать с контейнером sttd::map, но и решать задачи, когда для последовательного контейнера нужно реверсировать не весь элемент целиком, а, допустим, его подчлены. То есть, например, если у вас элементом является некоторая структуру, то нужно реверсировать не всю структуру, а лишь отдельные ее члены.

M>Не лучше. Универсальнее использовать адапторы итераторов которые могут ссылаться на class members.

С>>Сейчас эту задачу даже для последовательного контейнера нельзя решить с помощью стандартного аллгоритма, так как у пользователя нет возможности управлять его работой. Ежели появится форма этого алгоритма с предикатом, то пользователь в предикате может задавать требуемые операции.


M>Порассуждайте не над возможностью , а над целесообразностью.


Разыменованный адаптер итератора может ссылаться лишь на одно данное. Поэтому ваше предложение крайне ограниченное. А использование предиката и использование стандартного итератора контейнера делает решение задачи прозрачной.
Меня можно встретить на www.cpp.forum24.ru
Re[6]: Разместить в обратном порядке отображаемые значения s
От: Banned by IT  
Дата: 12.01.12 16:14
Оценка:
Здравствуйте, MasterZiv, Вы писали:

MZ>Ладно, не важно. ТОварищь же не хочет rbegin() ... rend()

MZ>Он хочень большего.

Он хочет странного.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Re[2]: Разместить в обратном порядке отображаемые значения s
От: Banned by IT  
Дата: 12.01.12 16:14
Оценка: +1
Здравствуйте, SleepyDrago, Вы писали:

SD>Предлагаю банить в /forum/cpp/* по слову клиппер в сообщении за необратимое поражение мозга оным клиппером.

Да его за оверквотинг тут уже с полтора десятка раз банхаммером приложить следовало.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Забанили по IP, значит пора закрыть эту страницу.
Всем пока
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.