Как определить, является ли порядок элементов в типе контейнера произвольным?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как определить, является ли порядок элементов в типе контейнера произвольным?

Сообщение Anonymous »

Некоторые контейнеры в C++ намеренно упорядочены, например std::list, std::vector или std::map (и даже std::deque, хотя можно задаться вопросом, имеет ли он один порядок или два поровну - действительные заказы). Другие контейнеры — нет, например std::unordered_map. И, конечно же, это касается контейнеров, которые мы можем определить сами, за пределами стандартной библиотеки.
Тем не менее, такие контейнеры являются итерируемыми: вы можете перейти из std::begin(my_container)< /code> в std::end(my_container) — и это каким-то образом порядок элементов контейнера.
Есть ли признак типа или какой-то другой другой механизм, который я мог бы использовать в функции шаблон, принимающий тип контейнера, чтобы определить, является ли порядок элементов в контейнере значимым, намеренным, присущим — или это просто произвольная, случайная, эфемерная деталь реализации?
Примечания:
  • Подойдет любая версия языка C++, чем раньше, тем лучше.
  • Я предположим, что этот вопрос применим и к диапазонам, но меня больше всего интересуют фактические контейнеры.
  • Я (в основном) игнорирую стабильность порядка и итераторов при операциях добавления/удаления.


Подробнее здесь: https://stackoverflow.com/questions/792 ... -arbitrary
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»