blob: cb7dfeb029a8534dea3a3369833d2998b4b8053c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#ifndef LIFE_SRC_UTIL_BOX_TRAVERSER_
#define LIFE_SRC_UTIL_BOX_TRAVERSER_
#include <functional>
#include "box_indicator.h"
namespace life {
namespace util {
struct BoxTraverser : public BoxIndicator {
using BoxIndicator::BoxIndicator;
void for_each(const std::function<void(std::size_t, std::size_t)> f) const {
for ( std::size_t x = this->a_x_; x < this->b_x_; x++ ) {
for ( std::size_t y = this->a_y_; y < this->b_y_; y++ ) {
f(x, y);
}
}
}
};
}
}
#endif // LIFE_SRC_UTIL_BOX_TRAVERSER_
|