MCPcopy Create free account
hub / github.com/Norbyte/bg3se / QueueConstIterator

Class QueueConstIterator

CoreLib/Base/Queue.h:82–150  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

80
81template <class T>
82class QueueConstIterator
83{
84public:
85 using value_type = T;
86 using reference = T const&;
87 using pointer = T const*;
88 using difference_type = int32_t;
89 using size_type = uint32_t;
90 using iterator_category = std::random_access_iterator_tag;
91
92 QueueConstIterator(Queue<T> const& q, int32_t i) : queue_(q), index_(i) {}
93
94 QueueConstIterator operator ++ ()
95 {
96 QueueConstIterator<T> it(queue_, index_);
97 index_++;
98 return it;
99 }
100
101 QueueConstIterator& operator ++ (int)
102 {
103 index_++;
104 return *this;
105 }
106
107 bool operator == (QueueConstIterator const& it) const
108 {
109 return it.index_ == index_;
110 }
111
112 bool operator != (QueueConstIterator const& it) const
113 {
114 return it.index_ != index_;
115 }
116
117 QueueConstIterator operator + (difference_type n) const
118 {
119 return QueueConstIterator(queue_, index_ + n);
120 }
121
122 QueueConstIterator operator - (difference_type n) const
123 {
124 return QueueConstIterator(queue_, index_ - n);
125 }
126
127 difference_type operator - (QueueConstIterator const& o) const
128 {
129 return (difference_type)(index_ - o.index_);
130 }
131
132 T const& operator * () const
133 {
134 return queue_[index_];
135 }
136
137 T const* operator -> () const
138 {
139 return &queue_[index_];

Callers 2

operator +Method · 0.85
operator -Method · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected