MCPcopy Create free account
hub / github.com/BTCGPU/BTCGPU / iterator

Class iterator

src/prevector.h:49–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47 typedef const value_type* const_pointer;
48
49 class iterator {
50 T* ptr;
51 public:
52 typedef Diff difference_type;
53 typedef T value_type;
54 typedef T* pointer;
55 typedef T& reference;
56 typedef std::random_access_iterator_tag iterator_category;
57 iterator(T* ptr_) : ptr(ptr_) {}
58 T& operator*() const { return *ptr; }
59 T* operator->() const { return ptr; }
60 T& operator[](size_type pos) { return ptr[pos]; }
61 const T& operator[](size_type pos) const { return ptr[pos]; }
62 iterator& operator++() { ptr++; return *this; }
63 iterator& operator--() { ptr--; return *this; }
64 iterator operator++(int) { iterator copy(*this); ++(*this); return copy; }
65 iterator operator--(int) { iterator copy(*this); --(*this); return copy; }
66 difference_type friend operator-(iterator a, iterator b) { return (&(*a) - &(*b)); }
67 iterator operator+(size_type n) { return iterator(ptr + n); }
68 iterator& operator+=(size_type n) { ptr += n; return *this; }
69 iterator operator-(size_type n) { return iterator(ptr - n); }
70 iterator& operator-=(size_type n) { ptr -= n; return *this; }
71 bool operator==(iterator x) const { return ptr == x.ptr; }
72 bool operator!=(iterator x) const { return ptr != x.ptr; }
73 bool operator>=(iterator x) const { return ptr >= x.ptr; }
74 bool operator<=(iterator x) const { return ptr <= x.ptr; }
75 bool operator>(iterator x) const { return ptr > x.ptr; }
76 bool operator<(iterator x) const { return ptr < x.ptr; }
77 };
78
79 class reverse_iterator {
80 T* ptr;

Callers 5

operator+Method · 0.85
operator-Method · 0.85
beginMethod · 0.85
endMethod · 0.85
insertMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected