1#ifndef CPYRT_CPPMETHOD_H
2#define CPYRT_CPPMETHOD_H
9#include <unordered_map>
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h offset
PyObject * GetTypeName() override
virtual bool InitExecutor_(Executor *&, CallContext *ctxt=nullptr)
int GetArgMatchScore(PyObject *args_tuple) override
bool Initialize(CallContext *ctxt=nullptr)
std::string GetReturnTypeName()
void SetPyError_(PyObject *msg)
PyObject * GetScopeProxy() override
PyObject * GetPrototype(bool show_formalargs=true) override
Construct a Python string from the method's prototype.
PyObject * GetSignatureTypes() override
Returns a dictionary with the types of the signature of this method.
PyObject * Call(CPPInstance *&self, cpyrt_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
virtual bool ProcessArgs(PyCallArgs &args)
CPPMethod(interop::TCppScope_t scope, interop::TCppMethod_t method)
bool IsSimilarFnType(cppjit::interop::TCppType_t fn_type) override
PyObject * Execute(void *self, ptrdiff_t offset, CallContext *ctxt=nullptr)
PyObject * Reflex(interop::Reflex::RequestId_t request, interop::Reflex::FormatId_t=interop::Reflex::OPTIMAL) override
std::unordered_map< std::string, int > * fArgIndices
int GetMaxArgs() override
std::string GetSignatureString(bool show_formalargs=true)
interop::TCppMethod_t GetMethod()
PyObject * GetCoVarNames() override
interop::TCppFuncAddr_t GetFunctionAddress() override
interop::TCppMethod_t fMethod
PyObject * GetSignature(bool show_formalargs=true) override
PyObject * ExecuteFast(void *, ptrdiff_t, CallContext *)
std::vector< Converter * > fConverters
PyCallable * Clone() override
CPPMethod & operator=(const CPPMethod &)
bool VerifyArgCount_(Py_ssize_t)
interop::TCppScope_t fScope
PyObject * GetArgDefault(int iarg, bool silent=true) override
int GetPriority() override
bool ProcessKwds(PyObject *self_in, PyCallArgs &args)
virtual bool ResultIsPyObject() const
bool ConvertAndSetArgs(cpyrt_PyArgs_t, size_t nargsf, CallContext *ctxt=nullptr)
interop::TCppScope_t GetScope()
PyObject * GetSignatureNames() override
Returns a tuple with the names of the input parameters of this method.
interop::TCppScope_t fDeclaringScope
void Copy_(const CPPMethod &)
PyCallArgs(CPPInstance *&self, cpyrt_PyArgs_t args, size_t nargsf, PyObject *kwds)
PyObject *const * cpyrt_PyArgs_t
TCppType_t GetTypeFromScope(TCppScope_t klass)
Cpp::FuncRef TCppMethod_t
bool IsSimilarFnTypes(TCppType_t typ1, TCppType_t typ2)