Just like an odometer in a car, this C++ class allows positional iteration, but with additional flexibility of using arbitrary values per digit position so you can sequence instead of just incrementing by whole numbers. Each numerical position can be set by a min, max, and stride, each being positive or negative, or by using a list of arbitrary unordered values, so you're not limited to base 10 per position. This allows one to model multi-dimensional array slicing (aka hyper-slabbing) or permutation. It's a single header templated implementation to minimize memory usage and uses STL.
Be the first to post a review of ezOdometer!