#include <RangeIterator.h>
Definition at line 46 of file RangeIterator.h.
◆ difference_type
◆ iterator_category
◆ pointer
◆ reference
◆ value_type
◆ ConstRangeIterator() [1/2]
| ConstRangeIterator::ConstRangeIterator |
( |
| ) |
|
|
default |
◆ ConstRangeIterator() [2/2]
| ConstRangeIterator::ConstRangeIterator |
( |
const Range & | range | ) |
|
Fill all running identifiers m_id : the current id m_min : the set of low bounds m_max : the set of high bounds
Definition at line 151 of file RangeIterator.cxx.
151 :
168 } else {
169 minimum =
f.get_minimum ();
170 maximum =
f.get_maximum ();
174 }
175 }
176}
std::vector< std::size_t > m_indices
ExpandedIdentifier::element_type element_type
ExpandedIdentifier::size_type size_type
◆ begin()
◆ end()
Definition at line 32 of file RangeIterator.cxx.
32 {
35 return (factory);
36}
ConstRangeIterator()=default
◆ operator*()
◆ operator++()
The local range is not exceeded. increase the value then reset the remaining fields.
The current range field was exhausted check the previous one.
Definition at line 181 of file RangeIterator.cxx.
181 {
182 if (
m_id.fields () == 0)
return *
this;
185
186
187
188
189
190
191
192
193 for (;;){
195 bool done = false;
197
198 if (
f.isEnumerated()) {
201 if (index <
f.get_indices ()) {
203 value =
f.get_value_at (index);
204 done = true;
205 }
206 }else {
208 if (value <
m_max[i]){
214 done = true;
215 }
216 }
217
218 if (done) {
223 }
224 break;
225 }
226
231
232 if (i == 0) {
234 break;
235 }
237
238 }
239 return *this;
240}
◆ operator==()
◆ m_id
◆ m_indices
| std::vector<std::size_t> ConstRangeIterator::m_indices |
|
private |
◆ m_max
◆ m_min
◆ m_range
| const Range* ConstRangeIterator::m_range {} |
|
private |
The documentation for this class was generated from the following files: