![]() |
|
A reimplementation of pxr_boost::python::override. More...
#include <pyOverride.h>
Inheritance diagram for TfPyOverride:Public Member Functions | |
| TfPyOverride (pxr_boost::python::handle<> callable) | |
| Clients must hold the GIL to construct. | |
| template<typename... Args> | |
| TfPyMethodResult | operator() (Args const &... args) const |
| Call the override. | |
Public Member Functions inherited from TfPyObjWrapper | |
| TF_API | TfPyObjWrapper () |
| Default construct a TfPyObjWrapper holding a reference to python None. | |
| TF_API | TfPyObjWrapper (object obj) |
| Construct a TfPyObjectWrapper wrapping obj. | |
| object const & | Get () const |
| Underlying object access. | |
| TF_API PyObject * | ptr () const |
| Underlying PyObject* access. | |
| TF_API bool | operator== (TfPyObjWrapper const &other) const |
| Equality. | |
| TF_API bool | operator!= (TfPyObjWrapper const &other) const |
| Inequality. | |
A reimplementation of pxr_boost::python::override.
This class is reimplemented from the boost class simply because the provided class only allows construction from, ultimately, pxr_boost::python::wrapper::get_override(). Unfortunately, that method returns the wrong result when the overridden function we are asking about lives not on the directly wrapped C++ class, but a wrapped ancestor. So we provide our own version, TfPyOverride, with a public constructor.
Note that clients must have the python GIL when constructing a TfPyOverride object.
Definition at line 98 of file pyOverride.h.
|
inline |
Clients must hold the GIL to construct.
Definition at line 109 of file pyOverride.h.
|
inline |
Call the override.
Clients need not hold the GIL to invoke the call operator.
Definition at line 117 of file pyOverride.h.