почему неупорядоченные ассоциативные контейнеры не используют allocator_traits <T>в C ++ 0x - PullRequest
6 голосов
/ 29 апреля 2011

Почему неупорядоченные ассоциативные контейнеры C ++ 0x не используют allocator_traits для определения их типов-членов указателя и const_pointer?

Например, последовательные и упорядоченные ассоциативные контейнеры используют следующее определение:

typedef typename allocator_traits<Allocator>::pointer pointer;
typedef typename allocator_traits<Allocator>::const_pointer const_pointer;

В то время как неупорядоченные ассоциативные контейнеры используют это:

typedef typename Allocator::pointer pointer;
typedef typename Allocator::const_pointer const_pointer;

Чего мне не хватает?

Ответы [ 2 ]

3 голосов
/ 03 ноября 2012

Это теперь исправлено в текущем последнем черновике. Например, страница 788:

http://www.open -std.org / ОТК1 / SC22 / wg21 / документы / документы / 2012 / n3376.pdf

class unordered_set
{
public:
// types
.... .... .... 
typedef typename allocator_traits<Allocator>::pointer pointer;
typedef typename allocator_traits<Allocator>::const_pointer const_pointer;
.... .... ....
}

Интересно, что en.cppreference.com (неверно утверждать) соглашается: http://en.cppreference.com/w/cpp/container/unordered_map

3 голосов
/ 29 апреля 2011

Я не думаю, что вы ничего не упустили.Вот ваш шанс принять участие в процессе разработки стандартов.Пожалуйста, отправьте вопрос.Инструкции о том, как это сделать, приведены ниже:

http://lwg.github.com/issues/lwg-active.html#submit_issue

Я сканировал, но не нашел существующей проблемы по этому вопросу.

...