9 #ifndef __DIADES__UTILS__ENUMERATORS__HH__ 10 #define __DIADES__UTILS__ENUMERATORS__HH__ 37 while(!_empty && (index < _start.size()))
39 _empty = _start[index] == _end[index];
81 setup(std::vector<T> &&
start,
const std::vector<T> && end)
87 _completed = (_current ==
_end);
92 _start(start), _end(end), _current(start), _completed(start == end), _empty(false), _counter(0)
106 const std::vector<T> &
116 _completed = (_start ==
_end);
130 auto indexMax = _current.size() - 1;
131 while((index != indexMax) && (_current[index] == _end[index]))
133 _current[index] = _start[index];
137 _completed = _current[index] == _end[index];
RangesEnumeration()=default
InitialStateIterator Value
RangesEnumeration(const std::vector< T > &start, const std::vector< T > &end)
RangesEnumeration & operator=(RangesEnumeration const &other)=default
Namespace of the Diades project.
void setup(std::vector< T > &&start, const std::vector< T > &&end)
virtual ~RangesEnumeration()=default
const std::vector< T > & current() const
std::vector< T > _current