All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
TfPyOverride Class Reference

#include <pyOverride.h>

+ Inheritance diagram for TfPyOverride:

Public Member Functions

 TfPyOverride (hboost::python::handle<> callable)
 Clients must hold the GIL to construct. More...
template<typename... Args>
TfPyMethodResult operator() (Args const &...args) const

Detailed Description

A reimplementation of hboost::python::override.

This class is reimplemented from the hboost class simply because the provided class only allows construction from, ultimately, hboost::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.

Constructor & Destructor Documentation

TfPyOverride::TfPyOverride ( hboost::python::handle<>  callable)

Clients must hold the GIL to construct.

Definition at line 125 of file pyOverride.h.

Member Function Documentation

template<typename... Args>
TfPyMethodResult TfPyOverride::operator() ( Args const &...  args) const

Call the override. Clients need not hold the GIL to invoke the call operator.

Definition at line 133 of file pyOverride.h.

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