#pragma once #include namespace gp{ template void indexed_foreach(range n, F f) { for(size_t idx = 0; idx < n.size(); ++idx) { f(idx, n[idx]); } } template void foreach(range n, F f) { for(auto& elem : n) { f(elem); } } template void fill(range& range_v, T value) { for(auto& elem : range_v) { elem = value; } } }