diff options
author | Kenta Murata <mrkn@users.noreply.github.com> | 2020-12-10 00:24:36 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-10 00:24:36 +0900 |
commit | bb489aca5815acf3afd43ec9e3cdae008d882e3a (patch) | |
tree | 172f0eb0f43ccbbf470d41163aca6e3aa98f67fb /include/ruby/memory_view.h | |
parent | 549118b3e29713835226d4088ba65f58eee7c054 (diff) | |
download | ruby-bb489aca5815acf3afd43ec9e3cdae008d882e3a.tar.gz |
memory_view.c: Add rb_memory_view_get_item and rb_memory_view_prepare_item_desc (#3871)
Diffstat (limited to 'include/ruby/memory_view.h')
-rw-r--r-- | include/ruby/memory_view.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/ruby/memory_view.h b/include/ruby/memory_view.h index 6d6aeffa6e..26aef46453 100644 --- a/include/ruby/memory_view.h +++ b/include/ruby/memory_view.h @@ -77,11 +77,13 @@ typedef struct { struct { /* The array of rb_memory_view_item_component_t that describes the - * item structure. */ + * item structure. rb_memory_view_prepare_item_desc and + * rb_memory_view_get_item allocate this memory if needed, + * and rb_memory_view_release frees it. */ rb_memory_view_item_component_t *components; /* The number of components in an item. */ - ssize_t length; + size_t length; } item_desc; /* The number of dimension. */ @@ -132,6 +134,8 @@ ssize_t rb_memory_view_parse_item_format(const char *format, ssize_t rb_memory_view_item_size_from_format(const char *format, const char **err); void *rb_memory_view_get_item_pointer(rb_memory_view_t *view, const ssize_t *indices); VALUE rb_memory_view_extract_item_members(const void *ptr, const rb_memory_view_item_component_t *members, const size_t n_members); +VALUE rb_memory_view_prepare_item_dexc(rb_memory_view_t *view); +VALUE rb_memory_view_get_item(rb_memory_view_t *view, const ssize_t *indices); int rb_memory_view_available_p(VALUE obj); int rb_memory_view_get(VALUE obj, rb_memory_view_t* memory_view, int flags); |