Существует ли общепринятое название понятия, которое охватывает как ассоциативные, так и неупорядоченные ассоциативные контейнеры?

Предположим, у меня есть функция, которая принимает контейнер и использует для него .insert или .find, то есть это либо неупорядоченный ассоциативный контейнер, либо ассоциативный контейнер.

Есть ли общее имя С++ для контейнеров такого типа?


person NoSenseEtAl    schedule 27.07.2018    source источник
comment
ассоциативный контейнер?   -  person NathanOliver    schedule 27.07.2018
comment
да, но я не чувствую, что ассоциативный контейнер является надмножеством неупорядоченного ассоциативного контейнера   -  person NoSenseEtAl    schedule 27.07.2018
comment
Почему бы и нет? Неупорядоченный ассоциативный контейнер по-прежнему остается ассоциативным контейнером.   -  person NathanOliver    schedule 27.07.2018
comment
en.wikipedia.org/wiki/Associative_containers обратите внимание, что вики-статья может быть плохой   -  person NoSenseEtAl    schedule 27.07.2018
comment
@NathanOliver AssociativeContainer — это упорядоченный контейнер... en. cppreference.com/w/cpp/named_req/AssociativeContainer   -  person Slava    schedule 27.07.2018
comment
Просто констатирую то, что я считаю очевидным: ассоциативные контейнеры — это либо упорядоченные ассоциативные контейнеры (например, std::map), либо неупорядоченные ассоциативные контейнеры. (std::unordered_map). У нас может не быть std::ordered_map, но это историческая случайность с именами.   -  person MSalters    schedule 27.07.2018
comment
@Слава Хун. Это кажется своего рода ограничением. Я бы подумал, что ассоциативный контейнер будет основной группой, а затем вы бы заказали или не заказали в качестве подгрупп.   -  person NathanOliver    schedule 27.07.2018
comment
@NoSenseEtAl, не могли бы вы привести пример, где это имело бы значение? Это вопрос производительности? потому что иначе находка есть находка, а вставка есть вставка...   -  person OrenIshShalom    schedule 27.07.2018
comment
@OrenIshShalom предназначен для ограничения параметра шаблона функции, чтобы улучшить ошибки.   -  person NoSenseEtAl    schedule 27.07.2018


Ответы (1)


Насколько мне известно, ни одно из предложений по добавлению понятий в стандартную библиотеку не концептуализирует сами контейнеры. Они концептуализируют итераторы и диапазоны, а также версии алгоритмов, использующие эти концепции. И контейнеры могут использовать понятия для разных целей.

Но не существует концепций для определения возможностей контейнера за пределами его возможностей.

person Nicol Bolas    schedule 27.07.2018