From b630cc603c40b67d51e1cd238ba95788ad853d6e Mon Sep 17 00:00:00 2001 From: Tsutomu IKEGAMI Date: Sun, 18 Dec 2016 09:31:24 +0000 Subject: [PATCH] Fix %array_class in carrays.i for Python -builtin Closes https://github.com/swig/swig/issues/446 --- Lib/python/carrays.i | 42 +----------------------------------------- 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/Lib/python/carrays.i b/Lib/python/carrays.i index e578c80dc..74b2be9c4 100644 --- a/Lib/python/carrays.i +++ b/Lib/python/carrays.i @@ -2,48 +2,8 @@ #if defined(SWIGPYTHON_BUILTIN) %feature("python:slot", "sq_item", functype="ssizeargfunc") NAME::__getitem__; %feature("python:slot", "sq_ass_item", functype="ssizeobjargproc") NAME::__setitem__; - -%inline %{ -typedef struct { - TYPE *el; -} NAME; -%} - -%extend NAME { - - NAME(size_t nelements) { - NAME *arr = %new_instance(NAME); - arr->el = %new_array(nelements, TYPE); - return arr; - } - - ~NAME() { - %delete_array(self->el); - %delete(self); - } - - TYPE __getitem__(size_t index) { - return self->el[index]; - } - - void __setitem__(size_t index, TYPE value) { - self->el[index] = value; - } - - TYPE * cast() { - return self->el; - } - - static NAME *frompointer(TYPE *t) { - return %reinterpret_cast(t, NAME *); - } -}; - -%types(NAME = TYPE); - -#else - %array_class_wrap(TYPE,NAME,__getitem__,__setitem__) #endif +%array_class_wrap(TYPE,NAME,__getitem__,__setitem__) %enddef %include