1#ifndef CPYCPPYY_DECLAREEXECUTORS_H
2#define CPYCPPYY_DECLAREEXECUTORS_H
8#if __cplusplus > 201402L
17#define CPPYY_DECL_EXEC(name) \
18class name##Executor : public Executor { \
20 virtual PyObject* Execute( \
21 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*); \
55#if __cplusplus > 201402L
78class InstancePtrExecutor :
public Executor {
83 virtual bool HasState() {
return true; }
89class InstanceExecutor :
public Executor {
94 virtual bool HasState() {
return true; }
101class IteratorExecutor :
public InstanceExecutor {
109#define CPPYY_DECL_REFEXEC(name) \
110class name##RefExecutor : public RefExecutor { \
112 virtual PyObject* Execute( \
113 Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext*); \
136class InstanceRefExecutor :
public RefExecutor {
146class InstancePtrPtrExecutor :
public InstanceRefExecutor {
148 using InstanceRefExecutor::InstanceRefExecutor;
153class InstancePtrRefExecutor :
public InstanceRefExecutor {
155 using InstanceRefExecutor::InstanceRefExecutor;
160class InstanceArrayExecutor :
public InstancePtrExecutor {
163 : InstancePtrExecutor(klass),
fArraySize(array_size) {}
171class FunctionPointerExecutor :
public Executor {
173 FunctionPointerExecutor(
const std::string& ret,
const std::string& sig) :
#define CPPYY_DECL_EXEC(name)
#define CPPYY_DECL_REFEXEC(name)
std::ios_base::fmtflags fFlags
Set of helper functions that are invoked from the pythonizors, on the Python side.