繁体   English   中英

适用于STL的容器的Boilerplate typedef

[英]Boilerplate typedefs for STL-compatible container

在标准库或Boost中是否存在某种实用程序基类,用于使用所需的typedef(size_type,value_type等)填充自定义STL兼容的Sequence。 我正在考虑像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简单地“回应”自定义容器的基础容器的嵌套typedef。 真的没有什么可以做的。

即使它确实存在,你仍然需要typedef typename base::size_type size_type 似乎你不会获得太多收益。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM