Lines Matching defs:buffer_info
2 pybind11/buffer_info.h: Python buffer object interface
17 struct buffer_info {
26 buffer_info() { }
28 buffer_info(void *ptr, ssize_t itemsize, const std::string &format, ssize_t ndim,
33 pybind11_fail("buffer_info: ndim doesn't match shape and/or strides length");
39 buffer_info(T *ptr, detail::any_container<ssize_t> shape_in, detail::any_container<ssize_t> strides_in)
40 : buffer_info(private_ctr_tag(), ptr, sizeof(T), format_descriptor<T>::format(), static_cast<ssize_t>(shape_in->size()), std::move(shape_in), std::move(strides_in)) { }
42 buffer_info(void *ptr, ssize_t itemsize, const std::string &format, ssize_t size)
43 : buffer_info(ptr, itemsize, format, 1, {size}, {itemsize}) { }
46 buffer_info(T *ptr, ssize_t size)
47 : buffer_info(ptr, sizeof(T), format_descriptor<T>::format(), size) { }
49 explicit buffer_info(Py_buffer *view, bool ownview = true)
50 : buffer_info(view->buf, view->itemsize, view->format, view->ndim,
56 buffer_info(const buffer_info &) = delete;
57 buffer_info& operator=(const buffer_info &) = delete;
59 buffer_info(buffer_info &&other) {
63 buffer_info& operator=(buffer_info &&rhs) {
76 ~buffer_info() {
83 buffer_info(private_ctr_tag, void *ptr, ssize_t itemsize, const std::string &format, ssize_t ndim,
85 : buffer_info(ptr, itemsize, format, ndim, std::move(shape_in), std::move(strides_in)) { }
94 static bool compare(const buffer_info& b) {
100 static bool compare(const buffer_info& b) {