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 bool ResultIsPyObject() const override { return false; }
26};
27
28
29// specialization for multiple inheritance disambiguation
44
45
46// specializations of prohibiting constructors
48public:
49 using CPPConstructor::CPPConstructor;
50
51public:
52 PyCallable* Clone() override { return new CPPAbstractClassConstructor(*this); }
54 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
55};
56
58public:
59 using CPPConstructor::CPPConstructor;
60
61public:
62 PyCallable* Clone() override { return new CPPNamespaceConstructor(*this); }
64 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
65};
66
68public:
69 using CPPConstructor::CPPConstructor;
70
71public:
72 PyCallable* Clone() override { return new CPPIncompleteClassConstructor(*this); }
74 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
75};
76
78public:
79 using CPPConstructor::CPPConstructor;
80
81public:
82 PyCallable* Clone() override { return new CPPAllPrivateClassConstructor(*this); }
84 CPyCppyy_PyArgs_t args, size_t nargsf, PyObject* kwds, CallContext* ctxt = nullptr) override;
85};
86
87} // namespace CPyCppyy
88
89#endif // !CPYCPPYY_CPPCONSTRUCTOR_H
PyObject * CPyCppyy_PyArgs_t
Definition CPyCppyy.h:322
_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
bool ResultIsPyObject() const 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:38
size_t TCppScope_t
Definition cpp_cppyy.h:34