34#ifndef _das_var_priv_h_
35#define _das_var_priv_h_
56typedef struct DasVar_VTbl {
64 const DasVar* pThis, ptrdiff_t* pLoc, das_byte_seq work, das_datum* pOut
70 const char* (*element)(
const DasVar* pThis);
72 das_elem_type (*elemType)(
const DasVar* pThis);
74 int (*shape)(
const DasVar* pThis, ptrdiff_t* pShape);
75 int (*intrShape)(
const DasVar* pThis, ptrdiff_t* pShape);
94 ptrdiff_t (*lengthIn)(
const DasVar* pThis,
int nIdx, ptrdiff_t* pLoc);
102 size_t (*itemElems)(
const DasVar* pThis);
110 const DasVar* pThis,
int nExtRank,
const ptrdiff_t* pMin,
111 const ptrdiff_t* pMax
120 const DasVar* pThis,
int nExtRank,
const ptrdiff_t* pMin,
121 const ptrdiff_t* pMax, ubyte* pBuf,
size_t uBufLen
128 char* (*prnGen)(
const DasVar* pThis,
char* sBuf,
int nLen);
130 bool (*isNumeric)(
const DasVar* pThis);
132 int (*incRef)(DasVar* pThis);
133 int (*decRef)(DasVar* pThis);
134 DasVar* (*copy)(
const DasVar* pThis);
153bool _DasVar_operand(
const DasVar* pThis,
das_operand* pOut);
157size_t _DasVar_itemBytes(
const DasVar* pThis);
162size_t _DasVar_runScratch(
const DasVar* pThis);
170const ubyte* _DasVar_runAt(
171 const DasVar* pThis, ptrdiff_t* pLoc, ubyte* pScratch,
size_t uScratch,
172 size_t* pBytes,
size_t* pNeed
178const ubyte* _DasVarBin_runAt(
179 const DasVar* pBase, ptrdiff_t* pLoc, ubyte* pScratch,
size_t uScratch,
180 size_t* pBytes,
size_t* pNeed
Dynamic recursive ragged arrays.
Definition array.h:271
The form layer's currency: a snapshot of the facts a formalism may need.
Definition form.h:139
The DasVar layer: named values with formalisms.