diff options
| author | Damien George <damien@micropython.org> | 2025-01-03 11:53:00 +1100 |
|---|---|---|
| committer | Damien George <damien@micropython.org> | 2025-03-06 12:52:35 +1100 |
| commit | 9dd4cef81416711ad05d3ee874f2813b42926541 (patch) | |
| tree | b4d194fa86685c1c19503d61e0d7e1d0949f3172 /py | |
| parent | 6be7570219c05f5dd4a5e0bc10be3cff851da8c8 (diff) | |
py/objarray: Add MP_DEFINE_MEMORYVIEW_OBJ convenience macro.
This allows defining a `memoryview` instance, either statically or on the
C stack.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'py')
| -rw-r--r-- | py/objarray.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/py/objarray.h b/py/objarray.h index 4a0e8a983..bb7a514b9 100644 --- a/py/objarray.h +++ b/py/objarray.h @@ -53,6 +53,10 @@ typedef struct _mp_obj_array_t { } mp_obj_array_t; #if MICROPY_PY_BUILTINS_MEMORYVIEW + +#define MP_DEFINE_MEMORYVIEW_OBJ(obj_name, typecode, offset, len, ptr) \ + mp_obj_array_t obj_name = {{&mp_type_memoryview}, (typecode), (offset), (len), (ptr)} + static inline void mp_obj_memoryview_init(mp_obj_array_t *self, size_t typecode, size_t offset, size_t len, void *items) { self->base.type = &mp_type_memoryview; self->typecode = typecode; @@ -60,6 +64,7 @@ static inline void mp_obj_memoryview_init(mp_obj_array_t *self, size_t typecode, self->len = len; self->items = items; } + #endif #if MICROPY_PY_ARRAY || MICROPY_PY_BUILTINS_BYTEARRAY |
