STL的样板类型定义

在标准库或Boost中,是否有某种实用程序基类用于填充具有所需typedef(size_type,value_type等)的自定义STL兼容序列。 我正在考虑类似boost :: iterator_facade的东西,但是对于容器。

我要卷起我自己的,但要确保这样的事情不存在。

更新:

这是我提出的实用程序基类,以防有人发现它有用:

template <class C>
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<int> >
{
...
};

ContainerAdapter只是“回声”自定义容器的底层容器的嵌套typedefs。 没有什么,真的。


即使它存在,你仍然必须typedef typename base::size_type size_type 。 似乎你不会获得太多。

链接地址: http://www.djcxy.com/p/47353.html

上一篇: Boilerplate typedefs for STL

下一篇: c++