22 namespace MultiDimensional {
24 BruteForceIterator::BruteForceIterator() : _dimensions{}, _fixedMask{}, _state{} {
29 ASSERT(_fixedMask.size() == 0 || equal(_dimensions.begin(), _dimensions.end(), _fixedMask.begin(), _fixedMask.end(),
62 long newpos =
static_cast<long>(position) - 1;
66 while (newpos >= 0 && *itd != *itm) {
88 long newpos =
static_cast<long>(position) - 1;
90 while(newpos >= 0 &&
_fixedMask[static_cast<size_t>(newpos)] !=
_dimensions[
static_cast<size_t>(newpos)]) {
BruteForceIterator begin() const
IndexList _fixedMask
the strides for each tensor index (necessary to convert coordinates to position in _data) ...
Hammer exception definitions.
BruteForceIterator & operator++()
std::vector< IndexType > IndexList
BruteForceIterator end() const
bool isSame(const BruteForceIterator &other) const
Generic tensor indexing iterator.
Out-of-range error class.
void incrementEntry(size_t position, int n)