1#ifndef CPYRT_TEMPLATEPROXY_H
2#define CPYRT_TEMPLATEPROXY_H
24typedef std::unordered_map<std::string, std::vector<TP_DispatchEntry_t>>
50 const std::string& pyname,
52 void Set(
const std::string& cppname,
const std::string& pyname,
87 const std::string& pyname,
95 pytmpl->
Set(cppname, pyname, pyclass);
CPPOverload * fLowPriority
TemplateInfo & operator=(const TemplateInfo &)=delete
TemplateInfo(const TemplateInfo &)=delete
CPPOverload * fNonTemplated
TP_DispatchMap_t fDispatchMap
void AdoptTemplate(PyCallable *pc)
void Set(const std::string &cppname, const std::string &pyname, PyObject *pyclass)
PyObject * Instantiate(const std::string &fname, cpyrt_PyArgs_t tmplArgs, size_t nargsf, Utility::ArgPreference, int *pcnt=nullptr)
void AdoptMethod(PyCallable *pc)
PyObject_HEAD PyObject * fSelf
void MergeOverload(CPPOverload *mp)
vectorcallfunc fVectorCall
friend TemplateProxy * TemplateProxy_New(const std::string &cppname, const std::string &pyname, PyObject *pyclass)
PyObject *const * cpyrt_PyArgs_t
bool TemplateProxy_Check(T *object)
TemplateProxy * TemplateProxy_New(const std::string &cppname, const std::string &pyname, PyObject *pyclass)
PyTypeObject TemplateProxy_Type
bool TemplateProxy_CheckExact(T *object)
std::shared_ptr< TemplateInfo > TP_TInfo_t
bool CPPScope_Check(T *object)
std::unordered_map< std::string, std::vector< TP_DispatchEntry_t > > TP_DispatchMap_t
std::pair< uint64_t, CPPOverload * > TP_DispatchEntry_t
Template proxy object to return functions and methods.