Previous: Proof, Up: Proof



6.1 The proof class

The proof class provides a simple way of checking that a block of rows are true. It provides functions for finding out where a particular block has failed. Additionally, it will can check blocks that are more than one extent long.

It is a template class, defined as template <class RowIterator> class proof;. You can therefore decide on your own method of generating rows, as long as you can provide an iterator (see the STL) for it.

It will check ALL rows given; therefore, if rounds are at the start and end, then one of them should be removed before passing to the object.

The proof class only stores the results: it does not make a copy of the actual rows. However, pointers to false rows will be stored, so don't destroy your rows before getting all the proof results. This may be changed in a later release.

Note: To avoid problems, make sure that all the rows have the same number of bells in them, otherwise 12345 will not 123456.