BoB robotics
The Brains on Board robotics library
pybind11::array Class Reference
Inheritance diagram for pybind11::array:
pybind11::buffer pybind11::object pybind11::handle pybind11::detail::object_api< handle > pybind11::detail::pyobject_tag pybind11::array_t< T, ExtraFlags > pybind11::array_t< Scalar, array::forcecast|((props::row_major ? props::inner_stride :props::outer_stride)==1 ? array::c_style :(props::row_major ? props::outer_stride :props::inner_stride)==1 ? array::f_style :0)> pybind11::array_t< T, ExtraFlags >

Public Types

using ShapeContainer = detail::any_container< ssize_t >
 
using StridesContainer = detail::any_container< ssize_t >
 

Public Member Functions

 __attribute__ ((deprecated("Use reinterpret_borrow<""array"">() or reinterpret_steal<""array"">()"))) array(handle h
 
 array (const pybind11::dtype &dt, ShapeContainer shape, StridesContainer strides, const void *ptr=nullptr, handle base=handle())
 
 array (const pybind11::dtype &dt, ShapeContainer shape, const void *ptr=nullptr, handle base=handle())
 
template<typename T , typename = detail::enable_if_t<std::is_integral<T>::value && !std::is_same<bool, T>::value>>
 array (const pybind11::dtype &dt, T count, const void *ptr=nullptr, handle base=handle())
 
template<typename T >
 array (ShapeContainer shape, StridesContainer strides, const T *ptr, handle base=handle())
 
template<typename T >
 array (ShapeContainer shape, const T *ptr, handle base=handle())
 
template<typename T >
 array (ssize_t count, const T *ptr, handle base=handle())
 
 array (const buffer_info &info, handle base=handle())
 
pybind11::dtype dtype () const
 Array descriptor (dtype)
 
ssize_t size () const
 Total number of elements.
 
ssize_t itemsize () const
 Byte size of a single element.
 
ssize_t nbytes () const
 Total number of bytes.
 
ssize_t ndim () const
 Number of dimensions.
 
object base () const
 Base object.
 
const ssize_t * shape () const
 Dimensions of the array.
 
ssize_t shape (ssize_t dim) const
 Dimension along a given axis.
 
const ssize_t * strides () const
 Strides of the array.
 
ssize_t strides (ssize_t dim) const
 Stride along a given axis.
 
int flags () const
 Return the NumPy array flags.
 
bool writeable () const
 If set, the array is writeable (otherwise the buffer is read-only)
 
bool owndata () const
 If set, the array owns the data (will be freed when the array is deleted)
 
template<typename... Ix>
const void * data (Ix... index) const
 
template<typename... Ix>
void * mutable_data (Ix... index)
 
template<typename... Ix>
ssize_t offset_at (Ix... index) const
 
ssize_t offset_at () const
 
template<typename... Ix>
ssize_t index_at (Ix... index) const
 
template<typename T , ssize_t Dims = -1>
detail::unchecked_mutable_reference< T, Dims > mutable_unchecked () &
 
template<typename T , ssize_t Dims = -1>
detail::unchecked_reference< T, Dims > unchecked () const &
 
array squeeze ()
 Return a new view with all of the dimensions of length 1 removed.
 
void resize (ShapeContainer new_shape, bool refcheck=true)
 
array reshape (ShapeContainer new_shape)
 Optional order parameter omitted, to be added as needed.
 
array view (const std::string &dtype)
 
- Public Member Functions inherited from pybind11::buffer
 __attribute__ ((deprecated("Use reinterpret_borrow<""buffer"">() or reinterpret_steal<""buffer"">()"))) buffer(handle h
 
- Public Member Functions inherited from pybind11::object
 __attribute__ ((deprecated("Use reinterpret_borrow<object>() or reinterpret_steal<object>()"))) object(handle h
 
 object (const object &o)
 Copy constructor; always increases the reference count.
 
 object (object &&other) noexcept
 Move constructor; steals the object from other and preserves its reference count.
 
 ~object ()
 Destructor; automatically calls handle::dec_ref()
 
handle release ()
 
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 pybind11::handle
 handle ()=default
 The default constructor creates a handle with a nullptr-valued pointer.
 
 handle (PyObject *ptr)
 Creates a handle from the given raw Python object pointer.
 
PyObject * ptr () const
 Return the underlying PyObject * pointer.
 
PyObject *& ptr ()
 
const handleinc_ref () const &
 
const handledec_ref () const &
 
template<typename T >
cast () const
 
 operator bool () const
 Return true when the handle wraps a valid Python object.
 
 __attribute__ ((deprecated("Use obj1.is(obj2) instead"))) bool operator
 
template<>
void cast () const
 
- Public Member Functions inherited from pybind11::detail::object_api< handle >
iterator begin () const
 
iterator end () const
 Return a sentinel which ends iteration.
 
item_accessor operator[] (handle key) const
 
item_accessor operator[] (const char *key) const
 See above (the only difference is that they key is provided as a string literal)
 
obj_attr_accessor attr (handle key) const
 
str_attr_accessor attr (const char *key) const
 See above (the only difference is that they key is provided as a string literal)
 
args_proxy operator* () const
 
object operator* (object_api const &other) const
 
bool contains (T &&item) const
 Check if the given item is contained within this object, i.e. item in obj.
 
object operator() (Args &&...args) const
 
 __attribute__ ((deprecated("call(...) was deprecated in favor of operator()(...)"))) object call(Args &&... args) const
 
bool is (object_api const &other) const
 Equivalent to obj is other in Python.
 
bool is_none () const
 Equivalent to obj is None in Python.
 
bool equal (object_api const &other) const
 Equivalent to obj == other in Python.
 
bool not_equal (object_api const &other) const
 
bool operator< (object_api const &other) const
 
bool operator<= (object_api const &other) const
 
bool operator> (object_api const &other) const
 
bool operator>= (object_api const &other) const
 
object operator- () const
 
object operator- (object_api const &other) const
 
object operator~ () const
 
object operator+ (object_api const &other) const
 
object operator+= (object_api const &other) const
 
object operator-= (object_api const &other) const
 
object operator*= (object_api const &other) const
 
object operator/ (object_api const &other) const
 
object operator/= (object_api const &other) const
 
object operator| (object_api const &other) const
 
object operator|= (object_api const &other) const
 
object operator& (object_api const &other) const
 
object operator&= (object_api const &other) const
 
object operator^ (object_api const &other) const
 
object operator^= (object_api const &other) const
 
object operator<< (object_api const &other) const
 
object operator<<= (object_api const &other) const
 
object operator>> (object_api const &other) const
 
object operator>>= (object_api const &other) const
 
__attribute__((deprecated("Use py::str(obj) instead"))) pybind11 str_attr_accessor doc () const
 Get or set the object's docstring, i.e. obj.__doc__.
 
int ref_count () const
 Return the object's current reference count.
 
handle get_type () const
 

Static Public Member Functions

static array ensure (handle h, int ExtraFlags=0)
 

Public Attributes

bool is_borrowed: buffer (is_borrowed ? buffer (h
 
bool borrowed_t
 
- Public Attributes inherited from pybind11::buffer
bool is_borrowed: object (is_borrowed ? object (h
 
- Public Attributes inherited from pybind11::object
bool is_borrowed: handle(h) { if (is_borrowed) inc_ref()
 

Protected Member Functions

void fail_dim_check (ssize_t dim, const std::string &msg) const
 
template<typename... Ix>
ssize_t byte_offset (Ix... index) const
 
void check_writeable () const
 
template<typename... Ix>
void check_dimensions (Ix... index) const
 
void check_dimensions_impl (ssize_t, const ssize_t *) const
 
template<typename... Ix>
void check_dimensions_impl (ssize_t axis, const ssize_t *shape, ssize_t i, Ix... index) const
 

Static Protected Member Functions

static PyObject * raw_array (PyObject *ptr, int ExtraFlags=0)
 Create array from any object – always returns a new reference.
 

Friends

template<typename , typename >
struct detail::npy_format_descriptor
 

Member Function Documentation

◆ data()

template<typename... Ix>
const void * pybind11::array::data ( Ix...  index) const
inline

Pointer to the contained data. If index is not provided, points to the beginning of the buffer. May throw if the index would lead to out of bounds access.

◆ ensure()

static array pybind11::array::ensure ( handle  h,
int  ExtraFlags = 0 
)
inlinestatic

Ensure that the argument is a NumPy array In case of an error, nullptr is returned and the Python error is cleared.

◆ index_at()

template<typename... Ix>
ssize_t pybind11::array::index_at ( Ix...  index) const
inline

Item count from beginning of the array to a given index (full or partial). May throw if the index would lead to out of bounds access.

◆ mutable_data()

template<typename... Ix>
void * pybind11::array::mutable_data ( Ix...  index)
inline

Mutable pointer to the contained data. If index is not provided, points to the beginning of the buffer. May throw if the index would lead to out of bounds access. May throw if the array is not writeable.

◆ mutable_unchecked()

template<typename T , ssize_t Dims = -1>
detail::unchecked_mutable_reference< T, Dims > pybind11::array::mutable_unchecked ( ) &
inline

Returns a proxy object that provides access to the array's data without bounds or dimensionality checking. Will throw if the array is missing the writeable flag. Use with care: the array must not be destroyed or reshaped for the duration of the returned object, and the caller must take care not to access invalid dimensions or dimension indices.

◆ offset_at()

template<typename... Ix>
ssize_t pybind11::array::offset_at ( Ix...  index) const
inline

Byte offset from beginning of the array to a given index (full or partial). May throw if the index would lead to out of bounds access.

◆ resize()

void pybind11::array::resize ( ShapeContainer  new_shape,
bool  refcheck = true 
)
inline

Resize array to given shape If refcheck is true and more that one reference exist to this array then resize will succeed only if it makes a reshape, i.e. original size doesn't change

◆ unchecked()

template<typename T , ssize_t Dims = -1>
detail::unchecked_reference< T, Dims > pybind11::array::unchecked ( ) const &
inline

Returns a proxy object that provides const access to the array's data without bounds or dimensionality checking. Unlike mutable_unchecked(), this does not require that the underlying array have the writable flag. Use with care: the array must not be destroyed or reshaped for the duration of the returned object, and the caller must take care not to access invalid dimensions or dimension indices.

◆ view()

array pybind11::array::view ( const std::string &  dtype)
inline

Create a view of an array in a different data type. This function may fundamentally reinterpret the data in the array. It is the responsibility of the caller to ensure that this is safe. Only supports the dtype argument, the type argument is omitted, to be added as needed.

Member Data Documentation

◆ borrowed_t

Initial value:
{}) : buffer (h, stolen_t{})) { } array (handle h, borrowed_t) : buffer (h, borrowed_t{}) { } array (handle h, stolen_t) : buffer (h, stolen_t{}) { } PYBIND11_DEPRECATED("Use py::isinstance<py::python_type>(obj) instead") bool check() const { return m_ptr != nullptr && ( detail::npy_api::get().PyArray_Check_ (m_ptr) != 0); } static bool check_(handle h) { return h.ptr() != nullptr && detail::npy_api::get().PyArray_Check_ (h.ptr()); } template <typename Policy_> array (const ::pybind11::detail::accessor<Policy_> &a) : array (object(a)) { } array (const object &o) : buffer (check_(o) ? o.inc_ref().ptr() : raw_array (o.ptr()), stolen_t{}) { if (!m_ptr) throw error_already_set(); } array (object &&o) : buffer (check_(o) ? o.release().ptr() : raw_array (o.ptr()), stolen_t{}) { if (!m_ptr) throw error_already_set(); }
enum {
c_style = detail::npy_api::NPY_ARRAY_C_CONTIGUOUS_,
f_style = detail::npy_api::NPY_ARRAY_F_CONTIGUOUS_,
forcecast = detail::npy_api::NPY_ARRAY_FORCECAST_
}
static PyObject * raw_array(PyObject *ptr, int ExtraFlags=0)
Create array from any object – always returns a new reference.
Definition: numpy.h:866
handle()=default
The default constructor creates a handle with a nullptr-valued pointer.
const handle & inc_ref() const &
Definition: pytypes.h:197
PyObject * ptr() const
Return the underlying PyObject * pointer.
Definition: pytypes.h:189
handle release()
Definition: pytypes.h:254

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