108typedef struct das_var DasVar;
147 const struct DasVar_VTbl* pVTbl;
176DAS_API
const char* DasVar_element(
const DasVar* pThis);
178#define DasVar_units(P) ((P)->units)
179#define DasVar_gen(P) ((P)->pGen)
180#define DasVar_form(P) ((P)->pForm)
195#define DasVar_formIs(P,VT) (((P) != NULL)&&DasForm_isKind(DasVar_form(P), VT))
213DAS_API
const char* DasVar_compSym(
const DasVar* pThis,
int iComp);
242DAS_API
int DasVar_compLabels(
243 const DasVar* pThis,
char** psBuf,
int nMax,
size_t uLenEa
257DAS_API das_elem_type DasVar_elemType(
const DasVar* pThis);
264DAS_API
int inc_DasVar(DasVar* pThis);
277DAS_API
int dec_DasVar(DasVar* pThis);
346DAS_API
int DasVar_get(
347 const DasVar* pThis, ptrdiff_t* pLoc, das_byte_seq work, das_datum* pOut
361DAS_API
bool DasVar_getNeedsBuf(
const DasVar* pThis);
388DAS_API
int DasVar_shape(
const DasVar* pThis, ptrdiff_t* pShape);
407DAS_API
int DasVar_intrShape(
const DasVar* pThis, ptrdiff_t* pShape);
425DAS_API ptrdiff_t DasVar_lengthIn(
const DasVar* pThis,
int nIdx, ptrdiff_t* pLoc);
436DAS_API
bool DasVar_degenerate(
const DasVar* pThis,
int iIndex);
453DAS_API
const char* DasVar_role(
const DasVar* pThis);
519DAS_API
DasAry* DasVar_subset(
520 const DasVar* pThis,
int nRank,
const ptrdiff_t* pMin,
const ptrdiff_t* pMax,
521 const DasVar* pShapeFrom
536DAS_API
DasAry* DasVar_materialize(
537 const DasVar* pThis,
int nRank,
const ptrdiff_t* pMin,
const ptrdiff_t* pMax,
538 const DasVar* pShapeFrom
565DAS_API
DasAry* DasVar_subsetQube(
566 const DasVar* pThis,
int nRank,
const ptrdiff_t* pMin,
const ptrdiff_t* pMax,
567 const DasVar* pShapeFrom
581DAS_API
DasAry* DasVar_materializeQube(
582 const DasVar* pThis,
int nRank,
const ptrdiff_t* pMin,
const ptrdiff_t* pMax,
583 const DasVar* pShapeFrom
592#define DasVar_allVals(P, R) DasVar_subset((P), (R), NULL, NULL, NULL)
602DAS_API
bool DasVar_isNumeric(
const DasVar* pThis);
631DAS_API
char* DasVar_toStr(
const DasVar* pThis,
char* sBuf,
int nLen);
645DAS_API DasVar* DasVar_copy(
const DasVar* pThis);
655DAS_API
das_val_type DasVar_valType(
const DasVar* pThis);
672DAS_API
DasAry* DasVar_getAry(
const DasVar* pThis);
679#define DasVar_hasAry(P) (DasVar_getAry(P) != NULL)
702DAS_API
bool DasVar_setAry(DasVar* pThis,
DasAry* pNew);
712DAS_API
DasErrCode DasVar_encode(DasVar* pThis,
const char* sRole,
DasBuf* pBuf);
735DAS_API DasVar* new_DasVar(
736 DasGen* pGen,
das_units units, DasForm* pForm
761typedef struct das_var_bin {
789DAS_API DasVarBin* new_DasVarBin(DasVar* pLeft,
char cOp, DasVar* pRight);
890typedef struct das_var_comp {
910typedef struct das_var_bytes {
935 DasGen* pGen,
das_units units, DasForm* pForm,
936 int nIntRank,
const ptrdiff_t* pIntShape
952DAS_API DasVarBytes* new_DasVarBytes(
953 DasGen* pGen,
das_units units,
bool bSentinel, ptrdiff_t nExtent
Utility to assist with encode and decode operations.
Value sources for the DasVar layer.
#define VARIDX_MAX
Max index count for the model.
Definition generator.h:55
int DasErrCode
return code type 0 indicates success, negative integer indicates failure
Definition defs.h:184
const char * das_units
Handle SI and other units, with accommodations for Epoch systems, from units.h.
Definition units.h:144
das_val_type
Enumeration of types stored in Das Array (DasAry) objects from value.h.
Definition value.h:81
Dynamic recursive ragged arrays.
Definition array.h:271
Buffer class to handle accumulating byte streams.
Definition buffer.h:47
Base structure for Stream Header Items.
Definition descriptor.h:74
The numeric component run: DasVarComp, the <composite> element.
Definition variable.h:890
DAS_API DasVarComp * new_DasVarComp(DasGen *pGen, das_units units, DasForm *pForm, int nIntRank, const ptrdiff_t *pIntShape)
Create a numeric composite: a vector, a complex pair, a matrix.
Defines units used for items in the stream, most notably time units that reference an epoch and a ste...