1#ifndef CPYCPPYY_DECLAREEXECUTORS_H
2#define CPYCPPYY_DECLAREEXECUTORS_H
10#if (__cplusplus > 201402L) || (defined(_MSC_VER) && _MSVC_LANG > 201402L)
19#define CPPYY_DECL_EXEC(name) \
20class name##Executor : public Executor { \
23 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
55#define CPPYY_ARRAY_DECL_EXEC(name) \
56class name##ArrayExecutor : public Executor { \
59 name##ArrayExecutor(dims_t dims) : fShape(dims) {} \
61 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
62 bool HasState() override { return true; } \
68#if (__cplusplus > 201402L) || (defined(_MSC_VER) && _MSVC_LANG > 201402L)
93class InstancePtrExecutor :
public Executor {
98 bool HasState()
override {
return true; }
104class InstanceExecutor :
public Executor {
109 bool HasState()
override {
return true; }
116class IteratorExecutor :
public InstanceExecutor {
124#define CPPYY_DECL_REFEXEC(name) \
125class name##RefExecutor : public RefExecutor { \
128 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*) override; \
151class InstanceRefExecutor :
public RefExecutor {
161class InstancePtrPtrExecutor :
public InstanceRefExecutor {
163 using InstanceRefExecutor::InstanceRefExecutor;
168class InstancePtrRefExecutor :
public InstanceRefExecutor {
170 using InstanceRefExecutor::InstanceRefExecutor;
175class InstanceArrayExecutor :
public InstancePtrExecutor {
186class FunctionPointerExecutor :
public Executor {
188 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)
std::ios_base::fmtflags fFlags
Py_ssize_t array_size(const std::string &name)