1#ifndef CPYCPPYY_DECLAREEXECUTORS_H
2#define CPYCPPYY_DECLAREEXECUTORS_H
17#define CPPYY_DECL_EXEC(name) \
18class name##Executor : public Executor { \
21 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
53#define CPPYY_ARRAY_DECL_EXEC(name) \
54class name##ArrayExecutor : public Executor { \
57 name##ArrayExecutor(dims_t dims) : fShape(dims) {} \
59 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
60 bool HasState() override { return true; } \
90class InstancePtrExecutor :
public Executor {
95 bool HasState()
override {
return true; }
101class InstanceExecutor :
public Executor {
106 bool HasState()
override {
return true; }
113class IteratorExecutor :
public InstanceExecutor {
121#define CPPYY_DECL_REFEXEC(name) \
122class name##RefExecutor : public RefExecutor { \
125 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
148class InstanceRefExecutor :
public RefExecutor {
158class InstancePtrPtrExecutor :
public InstanceRefExecutor {
160 using InstanceRefExecutor::InstanceRefExecutor;
165class InstancePtrRefExecutor :
public InstanceRefExecutor {
167 using InstanceRefExecutor::InstanceRefExecutor;
172class InstanceArrayExecutor :
public InstancePtrExecutor {
183class FunctionPointerExecutor :
public Executor {
185 FunctionPointerExecutor(
const std::string&
ret,
const std::string& sig) :
#define CPPYY_ARRAY_DECL_EXEC(name)
#define CPPYY_DECL_EXEC(name)
#define CPPYY_DECL_REFEXEC(name)
Py_ssize_t array_size(const std::string &name)