Value array_get(ArrayConstPtr array, int32_t idx) { if (idx >= array->size()) return NULL; if (idx < 0) idx += array->size(); if (idx < 0) return NULL; return (*array)[idx]; }
size_t array_get_all(ArrayConstPtr array, Value* out_values, size_t max) { size_t i; for (i = 0; i < array->size() && i < max; ++i) { out_values[i] = (*array)[i]; } return i; }
size_t array_size(ArrayConstPtr array) { return array->size(); }