Контейнеры - это задача с точки зрения разработки библиотеки в D, но никто не получил всестороннюю библиотеку контейнеров на Фобосе, потому что никто не согласен с тем, каким должен быть дизайн, и все, кто вносит вклад в стандартную библиотеку (которая очень быстро росла) нашел более интересные вещи для работы.
std::vector
-> array
как вы говорите
std::dequeue
, std::queue
: К сожалению, у нас его еще нет.
std::stack
: Это может быть тривиально реализовано поверх SList
или массива.
std::set
: Это может быть тривиально реализовано поверх RedBlackTree
.
std::multiset
: Я думаю, что RedBlackTree
может быть установлен для разрешения дублирования.
std::unordered_set
: Это может быть тривиально реализовано поверх встроенного ассоциативного массива. Чтобы реализовать его поверх встроенного AA, используйте byte[0][SomeType]
.
std::map
: может быть тривиально реализовано поверх RedBlackTree
.
std::multimap
: Вероятно, для этого вы можете использовать ассоциативные массивы массивов.
std__unordered_map
: использовать встроенные ассоциативные массивы.