gpt4 book ai didi

c++ - 用于 STL 兼容容器的样板类型定义

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:46:53 24 4
gpt4 key购买 nike

在标准库或 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 只是“呼应”自定义容器的底层容器的嵌套类型定义。没什么,真的。

最佳答案

即使它确实存在,您仍然必须 typedef typename base::size_type size_type。看起来你不会有太大收获。

关于c++ - 用于 STL 兼容容器的样板类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4822606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com