-
Mark OLESEN authored
- add reverse iterators and replace std::iterator (deprecated in C++17) with full definitions - simplify construction of iterators - construct labelRange from a single single parameter. This creates a (0,len) range. - make basic constructors forms constexpr. Remove unused size checks. - Derive labelRange from new IntRange template class. Allows reuse of base functionality with different integral sizes. Deprecations: - deprecate labelRange::valid() in favour of using labelRange::empty() or the bool operator. For example, if (range) ... vs older if (range.valid()) ... DEFEATURE: drop labelRange::null, scalarRange::null static variables - turned out to be not particularly useful. Can simply use constexpr contructor forms DEFEATURE: drop labelRange::identity static method - simply use the single-parameter constructor
d204d33c