Шаблонные определения типов для STL-совместимого контейнера

Есть ли в стандартной библиотеке или Boost какой-то базовый класс утилит для заполнения настраиваемой STL-совместимой последовательности с необходимыми определениями типов (size_type, value_type и т. Д.). Я думаю о чем-то вроде boost :: iterator_facade , но для контейнеров.

Я собирался свернуть свой собственный, но хотел убедиться, что такой вещи еще не существует.

ОБНОВЛЕНИЕ:

Это базовый класс утилиты, который я придумал, на тот случай, если кто-то сочтет его полезным:

template 
class ContainerAdapter
{
public:
    typedef C::value_type value_type;
    typedef C::reference reference;
    typedef C::const_reference const_reference;
    typedef C::const_iterator iterator;
    typedef C::const_iterator const_iterator;
    typedef C::difference_type difference_type;
    typedef C::size_type size_type;

protected:
    typedef C::container_type;
};


// Usage
class MyCustomContainer : public ContainerAdapter< std::vector >
{
...
};

ContainerAdapter просто «перекликается» с вложенными определениями типов пользовательского контейнера ' базовый контейнер. На самом деле, в этом нет ничего особенного.

6
задан Emile Cormier 28 January 2011 в 01:32
поделиться