μ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 | Private Member Functions | List of all members
object_api< Derived > Class Template Reference

\rst A mixin class which adds common functions to handle, object and various accessors. More...

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

Inheritance diagram for object_api< Derived >:
[legend]
Collaboration diagram for object_api< Derived >:
[legend]

Public Member Functions

iterator begin () const
 \rst Return an iterator equivalent to calling iter() in Python. More...
 
iterator end () const
 Return a sentinel which ends iteration. More...
 
item_accessor operator[] (handle key) const
 \rst Return an internal functor to invoke the object's sequence protocol. More...
 
item_accessor operator[] (const char *key) const
 See above (the only difference is that they key is provided as a string literal) More...
 
obj_attr_accessor attr (handle key) const
 \rst Return an internal functor to access the object's attributes. More...
 
str_attr_accessor attr (const char *key) const
 See above (the only difference is that they key is provided as a string literal) More...
 
args_proxy operator* () const
 \rst Matches * unpacking in Python, e.g. More...
 
template<typename T >
bool contains (T &&item) const
 Check if the given item is contained within this object, i.e. item in obj. More...
 
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
object operator() (Args &&...args) const
 \rst Assuming the Python object is a function or implements the __call__ protocol, operator() invokes the underlying function, passing an arbitrary set of parameters. More...
 
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
 PYBIND11_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. More...
 
bool is_none () const
 Equivalent to obj is None in Python. More...
 
bool equal (object_api const &other) const
 Equivalent to obj == other in Python. More...
 
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~ () 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
 
object operator>> (object_api const &other) const
 
object operator>>= (object_api const &other) const
 
pybind11::str str () const
 
str_attr_accessor doc () const
 Get or set the object's docstring, i.e. obj.__doc__. More...
 
int ref_count () const
 Return the object's current reference count. More...
 
handle get_type () const
 
iterator begin () const
 \rst Return an iterator equivalent to calling iter() in Python. More...
 
iterator end () const
 Return a sentinel which ends iteration. More...
 
item_accessor operator[] (handle key) const
 \rst Return an internal functor to invoke the object's sequence protocol. More...
 
item_accessor operator[] (object &&key) const
 See above (the only difference is that the key's reference is stolen) More...
 
item_accessor operator[] (const char *key) const
 See above (the only difference is that the key is provided as a string literal) More...
 
obj_attr_accessor attr (handle key) const
 \rst Return an internal functor to access the object's attributes. More...
 
obj_attr_accessor attr (object &&key) const
 See above (the only difference is that the key's reference is stolen) More...
 
str_attr_accessor attr (const char *key) const
 See above (the only difference is that the key is provided as a string literal) More...
 
args_proxy operator* () const
 \rst Matches * unpacking in Python, e.g. More...
 
template<typename T >
bool contains (T &&item) const
 Check if the given item is contained within this object, i.e. item in obj. More...
 
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
object operator() (Args &&...args) const
 \rst Assuming the Python object is a function or implements the __call__ protocol, operator() invokes the underlying function, passing an arbitrary set of parameters. More...
 
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
 PYBIND11_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. More...
 
bool is_none () const
 Equivalent to obj is None in Python. More...
 
bool equal (object_api const &other) const
 Equivalent to obj == other in Python. More...
 
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~ () const
 
object operator+ (object_api const &other) const
 
object operator+= (object_api const &other)
 
object operator- (object_api const &other) const
 
object operator-= (object_api const &other)
 
object operator* (object_api const &other) const
 
object operator*= (object_api const &other)
 
object operator/ (object_api const &other) const
 
object operator/= (object_api const &other)
 
object operator| (object_api const &other) const
 
object operator|= (object_api const &other)
 
object operator& (object_api const &other) const
 
object operator&= (object_api const &other)
 
object operator^ (object_api const &other) const
 
object operator^= (object_api const &other)
 
object operator<< (object_api const &other) const
 
object operator<<= (object_api const &other)
 
object operator>> (object_api const &other) const
 
object operator>>= (object_api const &other)
 
pybind11::str str () const
 
str_attr_accessor doc () const
 Get or set the object's docstring, i.e. obj.__doc__. More...
 
int ref_count () const
 Return the object's current reference count. More...
 
handle get_type () const
 

Private Member Functions

const Derived & derived () const
 
bool rich_compare (object_api const &other, int value) const
 
const Derived & derived () const
 
bool rich_compare (object_api const &other, int value) const
 

Detailed Description

template<typename Derived>
class object_api< Derived >

\rst A mixin class which adds common functions to handle, object and various accessors.

The only requirement for Derived is to implement PyObject *Derived::ptr() const. \endrst

Definition at line 69 of file pytypes.h.

Member Function Documentation

◆ attr() [1/5]

template<typename D >
str_attr_accessor object_api< D >::attr ( const char *  key) const

See above (the only difference is that they key is provided as a string literal)

Definition at line 2073 of file pytypes.h.

◆ attr() [2/5]

template<typename Derived >
str_attr_accessor object_api< Derived >::attr ( const char *  key) const

See above (the only difference is that the key is provided as a string literal)

◆ attr() [3/5]

template<typename D >
obj_attr_accessor object_api< D >::attr ( handle  key) const

\rst Return an internal functor to access the object's attributes.

Casting the returned detail::obj_attr_accessor instance to a handle or object subclass causes a corresponding call to getattr. Assigning a handle or object subclass causes a call to setattr. \endrst

Definition at line 2069 of file pytypes.h.

◆ attr() [4/5]

template<typename Derived >
obj_attr_accessor object_api< Derived >::attr ( handle  key) const

\rst Return an internal functor to access the object's attributes.

Casting the returned detail::obj_attr_accessor instance to a handle or object subclass causes a corresponding call to getattr. Assigning a handle or object subclass causes a call to setattr. \endrst

◆ attr() [5/5]

template<typename D >
obj_attr_accessor object_api< D >::attr ( object &&  key) const

See above (the only difference is that the key's reference is stolen)

Definition at line 2393 of file pytypes.h.

◆ begin() [1/2]

template<typename D >
iterator object_api< D >::begin

\rst Return an iterator equivalent to calling iter() in Python.

The object must be a collection which supports the iteration protocol. \endrst

Definition at line 2053 of file pytypes.h.

References iter().

◆ begin() [2/2]

template<typename Derived >
iterator object_api< Derived >::begin ( ) const

\rst Return an iterator equivalent to calling iter() in Python.

The object must be a collection which supports the iteration protocol. \endrst

◆ contains() [1/2]

template<typename D >
template<typename T >
bool object_api< D >::contains ( T &&  item) const

Check if the given item is contained within this object, i.e. item in obj.

Definition at line 2082 of file pytypes.h.

◆ contains() [2/2]

template<typename Derived >
template<typename T >
bool object_api< Derived >::contains ( T &&  item) const

Check if the given item is contained within this object, i.e. item in obj.

◆ derived() [1/2]

template<typename Derived >
const Derived & object_api< Derived >::derived ( ) const
inlineprivate

◆ derived() [2/2]

template<typename Derived >
const Derived & object_api< Derived >::derived ( ) const
inlineprivate

Definition at line 80 of file pytypes.h.

◆ doc() [1/2]

template<typename D >
str_attr_accessor object_api< D >::doc

Get or set the object's docstring, i.e. obj.__doc__.

Definition at line 2092 of file pytypes.h.

◆ doc() [2/2]

template<typename Derived >
str_attr_accessor object_api< Derived >::doc ( ) const

Get or set the object's docstring, i.e. obj.__doc__.

◆ end() [1/2]

template<typename D >
iterator object_api< D >::end

Return a sentinel which ends iteration.

Definition at line 2057 of file pytypes.h.

References iterator::sentinel().

◆ end() [2/2]

template<typename Derived >
iterator object_api< Derived >::end ( ) const

Return a sentinel which ends iteration.

◆ equal() [1/2]

template<typename Derived >
bool object_api< Derived >::equal ( object_api< Derived > const &  other) const
inline

Equivalent to obj == other in Python.

Definition at line 136 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ equal() [2/2]

template<typename Derived >
bool object_api< Derived >::equal ( object_api< Derived > const &  other) const
inline

Equivalent to obj == other in Python.

Definition at line 150 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ get_type() [1/2]

template<typename D >
handle object_api< D >::get_type

Definition at line 2097 of file pytypes.h.

References type::handle_of().

◆ get_type() [2/2]

template<typename Derived >
handle object_api< Derived >::get_type ( ) const

◆ is() [1/2]

template<typename Derived >
bool object_api< Derived >::is ( object_api< Derived > const &  other) const
inline

Equivalent to obj is other in Python.

Definition at line 132 of file pytypes.h.

References object_api< Derived >::derived().

◆ is() [2/2]

template<typename Derived >
bool object_api< Derived >::is ( object_api< Derived > const &  other) const
inline

Equivalent to obj is other in Python.

Definition at line 146 of file pytypes.h.

References object_api< Derived >::derived().

◆ is_none() [1/2]

template<typename Derived >
bool object_api< Derived >::is_none ( ) const
inline

Equivalent to obj is None in Python.

Definition at line 134 of file pytypes.h.

References object_api< Derived >::derived().

◆ is_none() [2/2]

template<typename Derived >
bool object_api< Derived >::is_none ( ) const
inline

Equivalent to obj is None in Python.

Definition at line 148 of file pytypes.h.

References object_api< Derived >::derived().

◆ not_equal() [1/2]

template<typename Derived >
bool object_api< Derived >::not_equal ( object_api< Derived > const &  other) const
inline

Definition at line 137 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ not_equal() [2/2]

template<typename Derived >
bool object_api< Derived >::not_equal ( object_api< Derived > const &  other) const
inline

Definition at line 151 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator&() [1/2]

template<typename Derived >
object object_api< Derived >::operator& ( object_api< Derived > const &  other) const

◆ operator&() [2/2]

template<typename Derived >
object object_api< Derived >::operator& ( object_api< Derived > const &  other) const

◆ operator&=() [1/2]

template<typename Derived >
object object_api< Derived >::operator&= ( object_api< Derived > const &  other)

◆ operator&=() [2/2]

template<typename Derived >
object object_api< Derived >::operator&= ( object_api< Derived > const &  other) const

◆ operator()() [1/2]

template<typename Derived >
template<return_value_policy policy, typename... Args>
object object_api< Derived >::operator() ( Args &&...  args) const

\rst Assuming the Python object is a function or implements the __call__ protocol, operator() invokes the underlying function, passing an arbitrary set of parameters.

The result is returned as a object and may need to be converted back into a Python object using handle::cast().

When some of the arguments cannot be converted to Python objects, the function will throw a cast_error exception. When the Python function call fails, a error_already_set exception is thrown. \endrst

Definition at line 1625 of file cast.h.

References pybind11_fail().

◆ operator()() [2/2]

template<typename Derived >
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
object object_api< Derived >::operator() ( Args &&...  args) const

\rst Assuming the Python object is a function or implements the __call__ protocol, operator() invokes the underlying function, passing an arbitrary set of parameters.

The result is returned as a object and may need to be converted back into a Python object using handle::cast().

When some of the arguments cannot be converted to Python objects, the function will throw a cast_error exception. When the Python function call fails, a error_already_set exception is thrown. \endrst

◆ operator*() [1/4]

template<typename D >
args_proxy object_api< D >::operator*

\rst Matches * unpacking in Python, e.g.

to unpack arguments out of a tuple or list for a function call. Applying another * to the result yields unpacking, e.g. to unpack a dict as function keyword arguments. See :ref:calling_python_functions. \endrst

Definition at line 2077 of file pytypes.h.

◆ operator*() [2/4]

template<typename Derived >
args_proxy object_api< Derived >::operator* ( ) const

\rst Matches * unpacking in Python, e.g.

to unpack arguments out of a tuple or list for a function call. Applying another * to the result yields unpacking, e.g. to unpack a dict as function keyword arguments. See :ref:calling_python_functions. \endrst

◆ operator*() [3/4]

template<typename Derived >
object object_api< Derived >::operator* ( object_api< Derived > const &  other) const

◆ operator*() [4/4]

template<typename Derived >
object object_api< Derived >::operator* ( object_api< Derived > const &  other) const

◆ operator*=() [1/2]

template<typename Derived >
object object_api< Derived >::operator*= ( object_api< Derived > const &  other)

◆ operator*=() [2/2]

template<typename Derived >
object object_api< Derived >::operator*= ( object_api< Derived > const &  other) const

◆ operator+() [1/2]

template<typename Derived >
object object_api< Derived >::operator+ ( object_api< Derived > const &  other) const

◆ operator+() [2/2]

template<typename Derived >
object object_api< Derived >::operator+ ( object_api< Derived > const &  other) const

◆ operator+=() [1/2]

template<typename Derived >
object object_api< Derived >::operator+= ( object_api< Derived > const &  other)

◆ operator+=() [2/2]

template<typename Derived >
object object_api< Derived >::operator+= ( object_api< Derived > const &  other) const

◆ operator-() [1/4]

template<typename Derived >
object object_api< Derived >::operator- ( ) const

◆ operator-() [2/4]

template<typename Derived >
object object_api< Derived >::operator- ( ) const

◆ operator-() [3/4]

template<typename Derived >
object object_api< Derived >::operator- ( object_api< Derived > const &  other) const

◆ operator-() [4/4]

template<typename Derived >
object object_api< Derived >::operator- ( object_api< Derived > const &  other) const

◆ operator-=() [1/2]

template<typename Derived >
object object_api< Derived >::operator-= ( object_api< Derived > const &  other)

◆ operator-=() [2/2]

template<typename Derived >
object object_api< Derived >::operator-= ( object_api< Derived > const &  other) const

◆ operator/() [1/2]

template<typename Derived >
object object_api< Derived >::operator/ ( object_api< Derived > const &  other) const

◆ operator/() [2/2]

template<typename Derived >
object object_api< Derived >::operator/ ( object_api< Derived > const &  other) const

◆ operator/=() [1/2]

template<typename Derived >
object object_api< Derived >::operator/= ( object_api< Derived > const &  other)

◆ operator/=() [2/2]

template<typename Derived >
object object_api< Derived >::operator/= ( object_api< Derived > const &  other) const

◆ operator<() [1/2]

template<typename Derived >
bool object_api< Derived >::operator< ( object_api< Derived > const &  other) const
inline

Definition at line 138 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator<() [2/2]

template<typename Derived >
bool object_api< Derived >::operator< ( object_api< Derived > const &  other) const
inline

Definition at line 152 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator<<() [1/2]

template<typename Derived >
object object_api< Derived >::operator<< ( object_api< Derived > const &  other) const

◆ operator<<() [2/2]

template<typename Derived >
object object_api< Derived >::operator<< ( object_api< Derived > const &  other) const

◆ operator<<=() [1/2]

template<typename Derived >
object object_api< Derived >::operator<<= ( object_api< Derived > const &  other)

◆ operator<<=() [2/2]

template<typename Derived >
object object_api< Derived >::operator<<= ( object_api< Derived > const &  other) const

◆ operator<=() [1/2]

template<typename Derived >
bool object_api< Derived >::operator<= ( object_api< Derived > const &  other) const
inline

Definition at line 139 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator<=() [2/2]

template<typename Derived >
bool object_api< Derived >::operator<= ( object_api< Derived > const &  other) const
inline

Definition at line 153 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator>() [1/2]

template<typename Derived >
bool object_api< Derived >::operator> ( object_api< Derived > const &  other) const
inline

Definition at line 140 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator>() [2/2]

template<typename Derived >
bool object_api< Derived >::operator> ( object_api< Derived > const &  other) const
inline

Definition at line 154 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator>=() [1/2]

template<typename Derived >
bool object_api< Derived >::operator>= ( object_api< Derived > const &  other) const
inline

Definition at line 141 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator>=() [2/2]

template<typename Derived >
bool object_api< Derived >::operator>= ( object_api< Derived > const &  other) const
inline

Definition at line 155 of file pytypes.h.

References object_api< Derived >::rich_compare().

◆ operator>>() [1/2]

template<typename Derived >
object object_api< Derived >::operator>> ( object_api< Derived > const &  other) const

◆ operator>>() [2/2]

template<typename Derived >
object object_api< Derived >::operator>> ( object_api< Derived > const &  other) const

◆ operator>>=() [1/2]

template<typename Derived >
object object_api< Derived >::operator>>= ( object_api< Derived > const &  other)

◆ operator>>=() [2/2]

template<typename Derived >
object object_api< Derived >::operator>>= ( object_api< Derived > const &  other) const

◆ operator[]() [1/5]

template<typename D >
item_accessor object_api< D >::operator[] ( const char *  key) const

See above (the only difference is that they key is provided as a string literal)

Definition at line 2065 of file pytypes.h.

◆ operator[]() [2/5]

template<typename Derived >
item_accessor object_api< Derived >::operator[] ( const char *  key) const

See above (the only difference is that the key is provided as a string literal)

◆ operator[]() [3/5]

template<typename D >
item_accessor object_api< D >::operator[] ( handle  key) const

\rst Return an internal functor to invoke the object's sequence protocol.

Casting the returned detail::item_accessor instance to a handle or object subclass causes a corresponding call to __getitem__. Assigning a handle or object subclass causes a call to __setitem__. \endrst

Definition at line 2061 of file pytypes.h.

◆ operator[]() [4/5]

template<typename Derived >
item_accessor object_api< Derived >::operator[] ( handle  key) const

\rst Return an internal functor to invoke the object's sequence protocol.

Casting the returned detail::item_accessor instance to a handle or object subclass causes a corresponding call to __getitem__. Assigning a handle or object subclass causes a call to __setitem__. \endrst

◆ operator[]() [5/5]

template<typename D >
item_accessor object_api< D >::operator[] ( object &&  key) const

See above (the only difference is that the key's reference is stolen)

Definition at line 2381 of file pytypes.h.

◆ operator^() [1/2]

template<typename Derived >
object object_api< Derived >::operator^ ( object_api< Derived > const &  other) const

◆ operator^() [2/2]

template<typename Derived >
object object_api< Derived >::operator^ ( object_api< Derived > const &  other) const

◆ operator^=() [1/2]

template<typename Derived >
object object_api< Derived >::operator^= ( object_api< Derived > const &  other)

◆ operator^=() [2/2]

template<typename Derived >
object object_api< Derived >::operator^= ( object_api< Derived > const &  other) const

◆ operator|() [1/2]

template<typename Derived >
object object_api< Derived >::operator| ( object_api< Derived > const &  other) const

◆ operator|() [2/2]

template<typename Derived >
object object_api< Derived >::operator| ( object_api< Derived > const &  other) const

◆ operator|=() [1/2]

template<typename Derived >
object object_api< Derived >::operator|= ( object_api< Derived > const &  other)

◆ operator|=() [2/2]

template<typename Derived >
object object_api< Derived >::operator|= ( object_api< Derived > const &  other) const

◆ operator~() [1/2]

template<typename Derived >
object object_api< Derived >::operator~ ( ) const

◆ operator~() [2/2]

template<typename Derived >
object object_api< Derived >::operator~ ( ) const

◆ PYBIND11_DEPRECATED() [1/2]

template<typename Derived >
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
object_api< Derived >::PYBIND11_DEPRECATED ( "call(...) was deprecated in favor of operator()(...)"  ) const &&

◆ PYBIND11_DEPRECATED() [2/2]

template<typename Derived >
template<return_value_policy policy = return_value_policy::automatic_reference, typename... Args>
object_api< Derived >::PYBIND11_DEPRECATED ( "call(...) was deprecated in favor of operator()(...)"  ) const &&

◆ ref_count() [1/2]

template<typename Derived >
int object_api< Derived >::ref_count ( ) const
inline

Return the object's current reference count.

Definition at line 171 of file pytypes.h.

References object_api< Derived >::derived().

◆ ref_count() [2/2]

template<typename Derived >
int object_api< Derived >::ref_count ( ) const
inline

Return the object's current reference count.

Definition at line 185 of file pytypes.h.

References object_api< Derived >::derived().

◆ rich_compare() [1/2]

template<typename D >
bool object_api< D >::rich_compare ( object_api< Derived > const &  other,
int  value 
) const
private

◆ rich_compare() [2/2]

template<typename Derived >
bool object_api< Derived >::rich_compare ( object_api< Derived > const &  other,
int  value 
) const
private

◆ str() [1/2]

template<typename D >
pybind11::str object_api< D >::str

Definition at line 2087 of file pytypes.h.

◆ str() [2/2]

template<typename Derived >
pybind11::str object_api< Derived >::str ( ) const

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