![]() |
A reimplementation of boost::python::override. More...
Inheritance diagram for TfPyOverride:Public Member Functions | |
| TfPyOverride (boost::python::handle<> callable) | |
| Clients must hold the GIL to construct. More... | |
| template<typename... Args> | |
| TfPyMethodResult | operator() (Args const &...args) const |
| Call the override. More... | |
Public Member Functions inherited from TfPyObjWrapper | |
| TF_API | TfPyObjWrapper () |
| Default construct a TfPyObjWrapper holding a reference to python None. More... | |
| TF_API | TfPyObjWrapper (object obj) |
| Construct a TfPyObjectWrapper wrapping obj. More... | |
| object const & | Get () const |
| Underlying object access. More... | |
| TF_API PyObject * | ptr () const |
| Underlying PyObject* access. More... | |
| TF_API bool | operator== (TfPyObjWrapper const &other) const |
| Equality. More... | |
| TF_API bool | operator!= (TfPyObjWrapper const &other) const |
| Inequality. More... | |
A reimplementation of boost::python::override.
This class is reimplemented from the boost class simply because the provided class only allows construction from, ultimately, 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 114 of file pyOverride.h.
|
inline |
Clients must hold the GIL to construct.
Definition at line 125 of file pyOverride.h.
|
inline |
Call the override.
Clients need not hold the GIL to invoke the call operator.
Definition at line 133 of file pyOverride.h.