diff --git a/src/foreign_array.hpp b/src/foreign_array.hpp index 5021bf9bc610283e3216a28d93687709a54508df..ad1d7858d9fa21fb3835a17cce601d97161e8bd5 100644 --- a/src/foreign_array.hpp +++ b/src/foreign_array.hpp @@ -127,6 +127,11 @@ class tReadOnlyForeignArray : public tSizeChangeNotifier, public tSizeChangeNoti return Unit; } + bool is_allocated() + { + return Contents != NULL; + } + void deallocate() { if (Contents != NULL) diff --git a/src/foreign_array_wrap.hpp b/src/foreign_array_wrap.hpp index 4d5860667e900050f4b34af0959a37789dc4dcd4..56cd4267332b5f525a3f8b2153a2cc1b65658392 100644 --- a/src/foreign_array_wrap.hpp +++ b/src/foreign_array_wrap.hpp @@ -139,6 +139,7 @@ void exposePODForeignArray(const std::string &name) .def("resize", &cl::setSize) .def("setup", &cl::setup) .add_property("unit", &cl::unit) + .add_property("allocated", &cl::is_allocated) .def("__getitem__", (object (*)(cl &, long)) &w_cl::getitem) .def("__getitem__", (object (*)(cl &, tuple)) &w_cl::getitem) .def("__setitem__", (void (*)(cl &, long, object)) &w_cl::setitem) @@ -163,6 +164,7 @@ void exposeStructureForeignArray(const std::string &name) .def("resize", &cl::setSize) .def("setup", &cl::setup) .add_property("unit", &cl::unit) + .add_property("allocated", &cl::is_allocated) .def("__getitem__", &w_cl::getitem, return_internal_reference<>()) .def("deallocate", &cl::deallocate) ;