array
C++ library for multi-dimensional arrays
Functions
z_order.h File Reference

Helpers for traversing multi-dimensional ranges in z-order. More...

#include "array.h"
#include <algorithm>
#include <functional>

Go to the source code of this file.

Functions

template<class... Ranges, class Fn >
NDARRAY_UNIQUE void for_each_in_z_order (const std::tuple< Ranges... > &ranges, const Fn &fn)
 
template<class Fn , class... Ranges>
NDARRAY_UNIQUE void for_all_in_z_order (const std::tuple< Ranges... > &ranges, const Fn &fn)
 

Detailed Description

Helpers for traversing multi-dimensional ranges in z-order.

Function Documentation

NDARRAY_UNIQUE void nda::for_each_in_z_order ( const std::tuple< Ranges... > &  ranges,
const Fn &  fn 
)

Iterate over a multi-dimensional iterator range in "z-order", by following a z-order curve. This ordering may be useful for optimizing for locality. The iterators must be random access iterators.