μHAL (v2.8.17)
Part of the IPbus software repository
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Public Member Functions | Static Public Member Functions | List of all members
memoryview Class Reference

#include </builds/ipbus/ipbus-software/uhal/python/pybind11-python2/include/pybind11/pytypes.h>

Inheritance diagram for memoryview:
[legend]
Collaboration diagram for memoryview:
[legend]

Public Member Functions

 memoryview (const buffer_info &info)
 \rst Creates memoryview from buffer_info. More...
 
 memoryview (const buffer_info &info)
 \rst Creates memoryview from buffer_info. More...
 
- Public Member Functions inherited from object
 object ()=default
 
 PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h
 
 object (const object &o)
 Copy constructor; always increases the reference count. More...
 
 object (object &&other) noexcept
 Move constructor; steals the object from other and preserves its reference count. More...
 
 ~object ()
 Destructor; automatically calls handle::dec_ref() More...
 
handle release ()
 \rst Resets the internal pointer to nullptr without decreasing the object's reference count. More...
 
objectoperator= (const object &other)
 
objectoperator= (object &&other) noexcept
 
template<typename T >
cast () const &
 
template<typename T >
cast () &&
 
 object (handle h, borrowed_t)
 
 object (handle h, stolen_t)
 
 object ()=default
 
 PYBIND11_DEPRECATED ("Use reinterpret_borrow<object>() or reinterpret_steal<object>()") object(handle h
 
 object (const object &o)
 Copy constructor; always increases the reference count. More...
 
 object (object &&other) noexcept
 Move constructor; steals the object from other and preserves its reference count. More...
 
 ~object ()
 Destructor; automatically calls handle::dec_ref() More...
 
handle release ()
 \rst Resets the internal pointer to nullptr without decreasing the object's reference count. More...
 
objectoperator= (const object &other)
 
objectoperator= (object &&other) noexcept
 
template<typename T >
cast () const &
 
template<typename T >
cast () &&
 
 object (handle h, borrowed_t)
 
 object (handle h, stolen_t)
 
template<typename T >
cast () const &
 
template<typename T >
cast () &&
 
template<>
void cast () const &
 
template<>
void cast () &&
 
- Public Member Functions inherited from handle
 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer. More...
 
 handle (PyObject *ptr)
 Creates a handle from the given raw Python object pointer. More...
 
PyObject * ptr () const
 Return the underlying PyObject * pointer. More...
 
PyObject *& ptr ()
 
const handleinc_ref () const &
 \rst Manually increase the reference count of the Python object. More...
 
const handledec_ref () const &
 \rst Manually decrease the reference count of the Python object. More...
 
template<typename T >
cast () const
 \rst Attempt to cast the Python object into the given C++ type. More...
 
 operator bool () const
 Return true when the handle wraps a valid Python object. More...
 
bool operator== (const handle &h) const
 \rst Deprecated: Check that the underlying pointers are the same. More...
 
bool operator!= (const handle &h) const
 
bool check () const
 
 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer. More...
 
template<typename T , detail::enable_if_t< detail::is_pyobj_ptr_or_nullptr_t< T >::value, int > = 0>
 handle (T ptr)
 Enable implicit conversion from PyObject * and nullptr. More...
 
template<typename T , detail::enable_if_t< detail::all_of< detail::none_of< std::is_base_of< handle, T >, detail::is_pyobj_ptr_or_nullptr_t< T > >, std::is_convertible< T, PyObject * > >::value, int > = 0>
 handle (T &obj)
 Enable implicit conversion through T::operator PyObject *(). More...
 
PyObject * ptr () const
 Return the underlying PyObject * pointer. More...
 
PyObject *& ptr ()
 
const handleinc_ref () const &
 \rst Manually increase the reference count of the Python object. More...
 
const handledec_ref () const &
 \rst Manually decrease the reference count of the Python object. More...
 
template<typename T >
cast () const
 \rst Attempt to cast the Python object into the given C++ type. More...
 
 operator bool () const
 Return true when the handle wraps a valid Python object. More...
 
bool operator== (const handle &h) const
 \rst Deprecated: Check that the underlying pointers are the same. More...
 
bool operator!= (const handle &h) const
 
bool check () const
 
template<>
void cast () const
 

Static Public Member Functions

static memoryview from_buffer (void *ptr, ssize_t itemsize, const char *format, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides, bool readonly=false)
 \rst Creates memoryview from static buffer. More...
 
static memoryview from_buffer (const void *ptr, ssize_t itemsize, const char *format, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides)
 
template<typename T >
static memoryview from_buffer (T *ptr, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides, bool readonly=false)
 
template<typename T >
static memoryview from_buffer (const T *ptr, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides)
 
static memoryview from_buffer (void *ptr, ssize_t itemsize, const char *format, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides, bool readonly=false)
 \rst Creates memoryview from static buffer. More...
 
static memoryview from_buffer (const void *ptr, ssize_t itemsize, const char *format, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides)
 
template<typename T >
static memoryview from_buffer (T *ptr, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides, bool readonly=false)
 
template<typename T >
static memoryview from_buffer (const T *ptr, detail::any_container< ssize_t > shape, detail::any_container< ssize_t > strides)
 
static memoryview from_memory (void *mem, ssize_t size, bool readonly=false)
 \rst Creates memoryview from static memory. More...
 
static memoryview from_memory (const void *mem, ssize_t size)
 
- Static Public Member Functions inherited from handle
static std::size_t inc_ref_counter ()
 

Additional Inherited Members

- Public Attributes inherited from object
bool is_borrowed: handle(h) { if (is_borrowed) { inc_ref()
 
- Protected Attributes inherited from handle
PyObject * m_ptr = nullptr
 

Detailed Description

Definition at line 1840 of file pytypes.h.

Constructor & Destructor Documentation

◆ memoryview() [1/2]

memoryview::memoryview ( const buffer_info info)
inlineexplicit

\rst Creates memoryview from buffer_info.

buffer_info must be created from buffer::request(). Otherwise throws an exception.

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

Definition at line 1853 of file pytypes.h.

References handle::m_ptr, and pybind11_fail().

◆ memoryview() [2/2]

memoryview::memoryview ( const buffer_info info)
inlineexplicit

\rst Creates memoryview from buffer_info.

buffer_info must be created from buffer::request(). Otherwise throws an exception.

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

Definition at line 2184 of file pytypes.h.

References handle::m_ptr, and pybind11_fail().

Member Function Documentation

◆ from_buffer() [1/8]

template<typename T >
static memoryview memoryview::from_buffer ( const T *  ptr,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides 
)
inlinestatic

Definition at line 1919 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [2/8]

template<typename T >
static memoryview memoryview::from_buffer ( const T *  ptr,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides 
)
inlinestatic

Definition at line 2250 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [3/8]

static memoryview memoryview::from_buffer ( const void *  ptr,
ssize_t  itemsize,
const char *  format,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides 
)
inlinestatic

Definition at line 1896 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [4/8]

static memoryview memoryview::from_buffer ( const void *  ptr,
ssize_t  itemsize,
const char *  format,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides 
)
inlinestatic

Definition at line 2227 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [5/8]

template<typename T >
static memoryview memoryview::from_buffer ( T *  ptr,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides,
bool  readonly = false 
)
inlinestatic

Definition at line 1906 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [6/8]

template<typename T >
static memoryview memoryview::from_buffer ( T *  ptr,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides,
bool  readonly = false 
)
inlinestatic

Definition at line 2237 of file pytypes.h.

References from_buffer(), and handle::ptr().

◆ from_buffer() [7/8]

static memoryview memoryview::from_buffer ( void *  ptr,
ssize_t  itemsize,
const char *  format,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides,
bool  readonly = false 
)
static

\rst Creates memoryview from static buffer.

This method is meant for providing a memoryview for C/C++ buffer not managed by Python. The caller is responsible for managing the lifetime of ptr and format, which MUST outlive the memoryview constructed here.

See also: Python C API documentation for PyMemoryView_FromBuffer_.

.. _PyMemoryView_FromBuffer: https://docs.python.org/c-api/memoryview.html#c.PyMemoryView_FromBuffer

:param ptr: Pointer to the buffer. :param itemsize: Byte size of an element. :param format: Pointer to the null-terminated format string. For homogeneous Buffers, this should be set to format_descriptor<T>::value. :param shape: Shape of the tensor (1 entry per dimension). :param strides: Number of bytes between adjacent entries (for each per dimension). :param readonly: Flag to indicate if the underlying storage may be written to. \endrst

Referenced by from_buffer().

◆ from_buffer() [8/8]

static memoryview memoryview::from_buffer ( void *  ptr,
ssize_t  itemsize,
const char *  format,
detail::any_container< ssize_t shape,
detail::any_container< ssize_t strides,
bool  readonly = false 
)
static

\rst Creates memoryview from static buffer.

This method is meant for providing a memoryview for C/C++ buffer not managed by Python. The caller is responsible for managing the lifetime of ptr and format, which MUST outlive the memoryview constructed here.

See also: Python C API documentation for PyMemoryView_FromBuffer_.

.. _PyMemoryView_FromBuffer: https://docs.python.org/c-api/memoryview.html#c.PyMemoryView_FromBuffer

:param ptr: Pointer to the buffer. :param itemsize: Byte size of an element. :param format: Pointer to the null-terminated format string. For homogeneous Buffers, this should be set to format_descriptor<T>::value. :param shape: Shape of the tensor (1 entry per dimension). :param strides: Number of bytes between adjacent entries (for each per dimension). :param readonly: Flag to indicate if the underlying storage may be written to. \endrst

◆ from_memory() [1/2]

static memoryview memoryview::from_memory ( const void *  mem,
ssize_t  size 
)
inlinestatic

Definition at line 2278 of file pytypes.h.

References from_memory().

◆ from_memory() [2/2]

static memoryview memoryview::from_memory ( void *  mem,
ssize_t  size,
bool  readonly = false 
)
inlinestatic

\rst Creates memoryview from static memory.

This method is meant for providing a memoryview for C/C++ buffer not managed by Python. The caller is responsible for managing the lifetime of mem, which MUST outlive the memoryview constructed here.

See also: Python C API documentation for PyMemoryView_FromBuffer_.

.. _PyMemoryView_FromMemory: https://docs.python.org/c-api/memoryview.html#c.PyMemoryView_FromMemory \endrst

Definition at line 2269 of file pytypes.h.

References handle::ptr(), and pybind11_fail().

Referenced by from_memory().


The documentation for this class was generated from the following files: