Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
CPPConstructor.h
Go to the documentation of this file.
1#ifndef CPYCPPYY_CPPCONSTRUCTOR_H
2#define CPYCPPYY_CPPCONSTRUCTOR_H
3
4// Bindings
5#include "CPPMethod.h"
6
7
8namespace CPyCppyy {
9
10class CPPConstructor : public CPPMethod {
11public:
13
14public:
15 PyObject* GetDocString() override;
18
19 PyCallable* Clone() override { return new CPPConstructor(*this); }
21 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
22
23protected:
24 bool InitExecutor_(Executor*&, CallContext* ctxt = nullptr) override;
25};
26
27
28// specialization for multiple inheritance disambiguation
43
44
45// specializations of prohibiting constructors
47public:
48 using CPPConstructor::CPPConstructor;
49
50public:
51 PyCallable* Clone() override { return new CPPAbstractClassConstructor(*this); }
53 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
54};
55
57public:
58 using CPPConstructor::CPPConstructor;
59
60public:
61 PyCallable* Clone() override { return new CPPNamespaceConstructor(*this); }
63 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
64};
65
67public:
68 using CPPConstructor::CPPConstructor;
69
70public:
71 PyCallable* Clone() override { return new CPPIncompleteClassConstructor(*this); }
73 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
74};
75
77public:
78 using CPPConstructor::CPPConstructor;
79
80public:
81 PyCallable* Clone() override { return new CPPAllPrivateClassConstructor(*this); }
83 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
84};
85
86} // namespace CPyCppyy
87
88#endif // !CPYCPPYY_CPPCONSTRUCTOR_H
PyObject * CPyCppyy_PyArgs_t
Definition CPyCppyy.h:330
_object PyObject
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
PyObject * Reflex(Cppyy::Reflex::RequestId_t, Cppyy::Reflex::FormatId_t=Cppyy::Reflex::OPTIMAL) override
bool InitExecutor_(Executor *&, CallContext *ctxt=nullptr) override
PyCallable * Clone() override
PyObject * GetDocString() override
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
CPPMethod(Cppyy::TCppScope_t scope, Cppyy::TCppMethod_t method)
PyCallable * Clone() override
CPPMultiConstructor(Cppyy::TCppScope_t scope, Cppyy::TCppMethod_t method)
CPPMultiConstructor & operator=(const CPPMultiConstructor &)
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
PyObject * Call(CPPInstance *&self, CPyCppyy_PyArgs_t args, size_t nargsf, PyObject *kwds, CallContext *ctxt=nullptr) override
PyCallable * Clone() override
const FormatId_t OPTIMAL
Definition Reflex.h:22
intptr_t TCppMethod_t
Definition cpp_cppyy.h:22
size_t TCppScope_t
Definition cpp_cppyy.h:18