LINUX.ORG.RU

pybind11 и buffer_protocol как его правильно имплементировать?

 , pybind,


0

1

Например, у меня есть объект с методом buffer(), возвращающим py::buffer_info. Морда к объекту

py::class_<_type>(m, "obj_t", py::buffer_protocol())
...
	.def_buffer( [] (_type &arg) -> py::buffer_info {
		return arg.buffer();
	})
...
И это работает, например, если обращаюсь к объекту через numpy:
data = npumpy.array(obj, copy=0)
Хочется иметь синтаксический сахар для такого преобразования в виде свойства или метода питоновского класса. В документации написано использовать для такого memoryview:

For creating a memoryview from objects that support buffer protocol, use memoryview(const object& obj) instead of this constructor.

Во что и как правильно скастовать аргумент?

★★★★★

Последнее исправление: thunar (всего исправлений: 1)

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.