ator adapts multidimensional buffers to work with 
  the C++ standard library and range-based for-loops. Given a pointer or iterator
  into a multidimensional data buffer, one can generate an iterator range using
  make_strided to construct strided versions of the standard library's begin and
  end. For constructing range-based for-loops, a strided_range class is provided.
  These help authors to avoid integer-based indexing, which in some cases can impede
  algorithm performance and introduce indexing erro