Skip to content

Commit b2dd6a5

Browse files
committed
Override cbuffer annotation
1 parent 4378278 commit b2dd6a5

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

core/include/core/container_pybindings.h

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -61,21 +61,28 @@ struct vector_buffer {
6161
namespace PYBIND11_NAMESPACE {
6262
class cbuffer : public buffer {
6363
public:
64-
PYBIND11_OBJECT_DEFAULT(cbuffer, buffer, PyObject_CheckBuffer)
65-
66-
buffer_info request_contiguous(bool writable = false) const {
67-
int flags = PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_C_CONTIGUOUS;
68-
if (writable) {
69-
flags |= PyBUF_WRITABLE;
70-
}
71-
auto *view = new Py_buffer();
72-
if (PyObject_GetBuffer(m_ptr, view, flags) != 0) {
73-
delete view;
74-
throw error_already_set();
75-
}
76-
return buffer_info(view);
77-
}
64+
PYBIND11_OBJECT_DEFAULT(cbuffer, buffer, PyObject_CheckBuffer)
65+
66+
buffer_info request_contiguous(bool writable = false) const {
67+
int flags = PyBUF_STRIDES | PyBUF_FORMAT | PyBUF_C_CONTIGUOUS;
68+
if (writable) {
69+
flags |= PyBUF_WRITABLE;
70+
}
71+
auto *view = new Py_buffer();
72+
if (PyObject_GetBuffer(m_ptr, view, flags) != 0) {
73+
delete view;
74+
throw error_already_set();
75+
}
76+
return buffer_info(view);
77+
}
7878
};
79+
80+
namespace detail {
81+
template <>
82+
struct handle_type_name<cbuffer> {
83+
static constexpr auto name = const_name("Buffer");
84+
};
85+
}
7986
}
8087

8188
// Check buffer format for valid types

0 commit comments

Comments
 (0)