File tree Expand file tree Collapse file tree 1 file changed +13
-5
lines changed
Expand file tree Collapse file tree 1 file changed +13
-5
lines changed Original file line number Diff line number Diff line change 11#ifndef RR_NODE_TYPES_H
22#define RR_NODE_TYPES_H
33
4+ #include < cstddef>
5+ #include < iterator>
46#include < string>
57#include < vector>
68#include < array>
@@ -64,23 +66,29 @@ typedef uint16_t t_edge_size;
6466 *
6567 * Used inconjunction with vtr::Range to return ranges of edge indices
6668 */
67- class edge_idx_iterator : public std ::iterator<std::bidirectional_iterator_tag, t_edge_size> {
69+ class edge_idx_iterator {
6870 public:
71+ using iterator_category = std::bidirectional_iterator_tag;
72+ using difference_type = std::ptrdiff_t ;
73+ using value_type = t_edge_size;
74+ using pointer = t_edge_size*;
75+ using reference = t_edge_size&;
76+
6977 edge_idx_iterator (value_type init)
7078 : value_(init) {}
71- iterator operator ++() {
79+ edge_idx_iterator& operator ++() {
7280 value_ += 1 ;
7381 return *this ;
7482 }
75- iterator operator --() {
83+ edge_idx_iterator& operator --() {
7684 value_ -= 1 ;
7785 return *this ;
7886 }
7987 reference operator *() { return value_; }
8088 pointer operator ->() { return &value_; }
8189
82- friend bool operator ==(const edge_idx_iterator lhs, const edge_idx_iterator rhs) { return lhs.value_ == rhs.value_ ; }
83- friend bool operator !=(const edge_idx_iterator lhs, const edge_idx_iterator rhs) { return !(lhs == rhs); }
90+ friend bool operator ==(const edge_idx_iterator& lhs, const edge_idx_iterator& rhs) { return lhs.value_ == rhs.value_ ; }
91+ friend bool operator !=(const edge_idx_iterator& lhs, const edge_idx_iterator& rhs) { return !(lhs == rhs); }
8492
8593 private:
8694 value_type value_;
You can’t perform that action at this time.
0 commit comments