Iterators are now working far more reliably and have more extensive tests that randomize inputs and fuzz them to check they keep working.
This commit is contained in:
parent
8e470df554
commit
70cd963e5c
11 changed files with 318 additions and 84 deletions
15
matrix.hpp
15
matrix.hpp
|
@ -12,7 +12,6 @@ namespace matrix {
|
|||
size_t y = ~0;
|
||||
size_t width = 0;
|
||||
size_t height = 0;
|
||||
int cell = 0;
|
||||
|
||||
each_cell(Matrix &mat);
|
||||
bool next();
|
||||
|
@ -24,13 +23,25 @@ namespace matrix {
|
|||
size_t y = ~0;
|
||||
size_t width = 0;
|
||||
size_t height = 0;
|
||||
int cell = 0;
|
||||
bool row = false;
|
||||
|
||||
each_row(Matrix &mat);
|
||||
bool next();
|
||||
};
|
||||
|
||||
struct in_box {
|
||||
size_t x = 0; // these are set in constructor
|
||||
size_t y = 0; // again, no fancy ~ trick needed
|
||||
size_t left = 0;
|
||||
size_t top = 0;
|
||||
size_t right = 0;
|
||||
size_t bottom = 0;
|
||||
|
||||
in_box(Matrix &mat, size_t x, size_t y, size_t size);
|
||||
bool next();
|
||||
void dump();
|
||||
};
|
||||
|
||||
/*
|
||||
* Just a quick thing to reset a matrix to a value.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue