If even the macro interface is not fast enough for you, you can access the internal data structure for all the basic types except string. You cannot access the internal data structure for arrays of strings, interfaces and objects.
The basic form of the C data structure for type XXXX is:
users_guide/basics/code/SIDL_XXXX__array.h
The string ``value type for XXXX
'' should be replaced by something like
SIDL_boolfor an array of bool,
int32_t for any array of int,
double for an array of double,
int64_t for an array of long, etc. (See Table 3.3)
The data structure was inspired by the data structure used by Numeric Python; although, in Numeric Python, the stride is in terms of bytes. In SIDL, the stride is in terms of number of objects. One can convert to the Numeric Python view of things by multiplying the stride by the sizeof the value type.