20#ifndef _das_iterator_h_
21#define _das_iterator_h_
67typedef struct dasds_iterator_t{
83#define dasds_iterator DasDsIter
102#define dasds_iter_init DasDsIter_init
121#define dasds_iter_next DasDsIter_next
127typedef struct das_uniq_iter_t{
192typedef struct das_cube_iter_t{
207#define das_cube_iter DasDsCubeIter
208#define das_cube_iter_init DasDsCubeIter_init
209#define das_cube_iter_next DasDsCubeIter_next
214DAS_API
void DasDsCubeIter_init(
215 das_cube_iter* pThis,
int nRank, ptrdiff_t* pMin, ptrdiff_t* pMax
228DAS_API
bool DasDsCubeIter_next(das_cube_iter* pThis);
231typedef struct das_array_iter_t{
274 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:231
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:271
Simple cubic iterator.
Definition iterator.h:192
bool done
If true the value in index is valid, false otherwise.
Definition iterator.h:195
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:127
bool done
If true the current value in the index is valid, false otherwise.
Definition iterator.h:129
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:139
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:156