如何使用std :: iterator_traits作为我的自定义容器

时间:2017-02-24 16:21:17

标签: c++11 iterator-traits

我正在实施具有以下结构的deque:

template<typename T,
template<typename...> class Container = std::vector>
class Deque {
    public:
       void push_front(const T& obj);
       void emplace_front(T&& obj);
       void push_back(const T& obj);
       void emplace_back(T&& obj);
       auto pop_front();
       auto pop_back();
       std::size_t size() const;
       bool empty() const;
};

我想支持apis,如begin(),end(),cbegin()和cend(),它们应该返回符合stl的迭代器。我听说使用std :: iterator_traits就可以了。欢迎提供这方面的帮助。

此外,我希望迭代器的类型为双向。

0 个答案:

没有答案