| 216 | }; |
| 217 | |
| 218 | bool primitive_array_get(VALUE obj, rb_memory_view_t *view, int flags) { |
| 219 | if (flags != RUBY_MEMORY_VIEW_SIMPLE) { |
| 220 | return false; |
| 221 | } |
| 222 | auto view_ = reinterpret_cast<memory_view *>(view); |
| 223 | view_->obj = obj; |
| 224 | view_->private_data = new PrivateData(); |
| 225 | auto array = GARROW_ARRAY(RVAL2GOBJ(obj)); |
| 226 | auto arrow_array = garrow_array_get_raw(array); |
| 227 | PrimitiveArrayGetter getter(view_); |
| 228 | auto status = arrow_array->Accept(&getter); |
| 229 | if (!status.ok()) { |
| 230 | return false; |
| 231 | } |
| 232 | view_->readonly = true; |
| 233 | view_->ndim = 1; |
| 234 | view_->shape = NULL; |
| 235 | view_->strides = NULL; |
| 236 | view_->sub_offsets = NULL; |
| 237 | return true; |
| 238 | } |
| 239 | |
| 240 | bool primitive_array_release(VALUE obj, rb_memory_view_t *view) { |
| 241 | auto view_ = reinterpret_cast<memory_view *>(view); |
nothing calls this directly
no test coverage detected