summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorKenta Murata <mrkn@users.noreply.github.com>2020-12-10 00:24:36 +0900
committerGitHub <noreply@github.com>2020-12-10 00:24:36 +0900
commitbb489aca5815acf3afd43ec9e3cdae008d882e3a (patch)
tree172f0eb0f43ccbbf470d41163aca6e3aa98f67fb /include
parent549118b3e29713835226d4088ba65f58eee7c054 (diff)
memory_view.c: Add rb_memory_view_get_item and rb_memory_view_prepare_item_desc (#3871)
Notes
Notes: Merged-By: mrkn <mrkn@ruby-lang.org>
Diffstat (limited to 'include')
-rw-r--r--include/ruby/memory_view.h8
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);