[Courgette] PagedArray: Add Iterators and Parametrize Page Size as int Template.
This is a refactoring CL to enable PagedArray usage by libdivsufsort.
In addition to overloading operator[], for more general usage we need
need pointer-like accessors to PagedArray. To this end we implement
PagedArray_const_iterator and PagedArray_const_iterator, which merely
wraps a PagedArray pointer along with an index. We also add various
operators needed by libdivsufsort. For optimization, '<' and '<='
operators omits pointer checks.
By default PagedArray page size is 2**18 elements (1 MiB for int32_t).
To enable better testing, we made (log) page size a tepmlate parameter.
BUG=608885
Review-Url: https://codereview.chromium.org/2008553007
Cr-Commit-Position: refs/heads/master@{#397311}
2 files changed