20#ifndef _das_iterator_h_
21#define _das_iterator_h_
67typedef struct dasds_iterator_t{
123typedef struct das_uniq_iter_t{
188typedef struct das_cube_iter_t{
207 DasDsCubeIter* pThis,
int nRank, ptrdiff_t* pMin, ptrdiff_t* pMax
223typedef struct das_array_iter_t{
266 DasAryIter* pThis,
const DasAry* pAry,
int iDimMin,
int iDimMax, ptrdiff_t* pBeg,
Objects which correlate arrays in index space.
#define VARIDX_MAX
Max index count for the model.
Definition generator.h:55
DAS_API bool DasAryIter_next(DasAryIter *pThis)
Increment an array iterated to the next expected index.
Iterate over a sub-set of the index space of a DasAry.
Definition iterator.h:223
DAS_API void DasAryIter_init(DasAryIter *pThis, const DasAry *pAry, int iDimMin, int iDimMax, ptrdiff_t *pBeg, ptrdiff_t *pEnd)
Initialize an array iterator.
Dynamic recursive ragged arrays.
Definition array.h:243
Simple cubic iterator.
Definition iterator.h:188
bool done
If true the value in index is valid, false otherwise.
Definition iterator.h:191
DAS_API void DasDsCubeIter_init(DasDsCubeIter *pThis, int nRank, ptrdiff_t *pMin, ptrdiff_t *pMax)
Initialize an iterator to cubic section in index space.
DAS_API bool DasDsCubeIter_next(DasDsCubeIter *pThis)
Increment a cubic iterator by one position, rolling as needed.
Dataset iterator structure.
Definition iterator.h:67
bool done
If true the value in index is valid, false otherwise.
Definition iterator.h:70
DAS_API bool DasDsIter_next(DasDsIter *pThis)
Increment the iterator's index by one position, rolling as needed at data boundaries.
DAS_API void DasDsIter_init(DasDsIter *pThis, const DasDs *pDs)
Initialize a const dataset iterator.
A non-degenerate iterator.
Definition iterator.h:123
bool done
If true the current value in the index is valid, false otherwise.
Definition iterator.h:125
DAS_API void DasDsUniqIter_init(DasDsUniqIter *pThis, const DasDs *pDs, const DasVar *pVar)
Initialize a non-degenerate iterator for a variable.
int first
Shortcut iteration by saving off the indexes that matter.
Definition iterator.h:135
DAS_API bool DasDsUniqIter_next(DasDsUniqIter *pThis)
Increment the iterator's index by one position, rolling as needed at data boundaries.
Das Datasets.
Definition dataset.h:159