std::iterator<> is deprecated in C++17, so let's just
define the required traits directly.
Signed-off-by: Kefu Chai <tchaikov@gmail.com>
(cherry picked from commit
77a3ed56a7b7326814ea5d37214bec1d88ec334e)
remove(_back);
}
- class iterator: std::iterator<std::forward_iterator_tag, T> {
+ class iterator {
private:
item *cur;
public:
+ using iterator_category = std::forward_iterator_tag;
+ using value_type = T;
+ using difference_type = std::ptrdiff_t;
+ using pointer = T*;
+ using reference = T&;
iterator(item *i = 0) : cur(i) {}
T operator*() { return static_cast<T>(cur->_item); }
iterator& operator++() {