我正在实施具有以下结构的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就可以了。欢迎提供这方面的帮助。
此外,我希望迭代器的类型为双向。