Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
cppjit::cpyrt Namespace Reference

Namespaces

namespace  compat
 
namespace  PyStrings
 
namespace  TypeManip
 
namespace  Utility
 

Classes

struct  CallContext
 
class  CallContextRAII
 
class  Converter
 
class  CPPAbstractClassConstructor
 
class  CPPAllPrivateClassConstructor
 
class  CPPClassMethod
 
class  CPPConstructor
 
class  CPPDataMember
 
class  CPPExcInstance
 
class  CPPFunction
 
class  CPPGetItem
 
class  CPPIncompleteClassConstructor
 
class  CPPInstance
 
class  CPPMethod
 
class  CPPMultiConstructor
 
class  CPPNamespaceConstructor
 
class  CPPOperator
 
class  CPPOverload
 
class  CPPReverseBinary
 
class  CPPScope
 
class  CPPSetItem
 
class  CPPSmartClass
 
class  Dimensions
 
class  DispatchPtr
 
class  Executor
 
struct  indexiterobject
 
class  InstancePtrConverter
 
class  LowLevelView
 
class  MemoryRegulator
 
class  NotImplementedConverter
 
struct  Parameter
 
struct  proxyobject
 
class  PyCallable
 
class  PyCallArgs
 
class  PyException
 
class  PythonGILRAII
 
class  RefExecutor
 
class  StrictInstancePtrConverter
 
class  TemplateInfo
 
class  TemplateProxy
 
struct  typedefpointertoclassobject
 Custom "builtins," detectable by type, for pass by ref and improved performance. More...
 
struct  vectoriterobject
 
class  VoidArrayConverter
 

Typedefs

typedef const dims_t & cdims_t
 
typedef Converter *(* cf_t) (cdims_t d)
 
typedef std::vector< std::pair< ptrdiff_t, PyObject * > > CI_DatamemberCache_t
 
typedef Converter *(* ConverterFactory_t) (cdims_t)
 
typedef std::unordered_map< std::string, cf_t > ConvFactories_t
 
typedef CPPScope CPPClass
 
typedef PyObject CPPEnum
 
typedef std::unordered_map< interop::TCppObject_t, PyObject * > CppToPyMap_t
 Type object to hold class reference (this is only semantically a presentation of CPPScope instances, not in a C++ sense)
 
typedef Py_ssize_t dim_t
 
typedef Dimensions dims_t
 
typedef Executor *(* ef_t) (cdims_t)
 
typedef std::unordered_map< std::string, ef_t > ExecFactories_t
 
typedef Executor *(* ExecutorFactory_t) (cdims_t)
 
typedef std::function< std::pair< bool, bool >(interop::TCppObject_t, interop::TCppScope_t)> MemHook_t
 
typedef std::pair< uint64_t, CPPOverload * > TP_DispatchEntry_t
 Template proxy object to return functions and methods.
 
typedef std::unordered_map< std::string, std::vector< TP_DispatchEntry_t > > TP_DispatchMap_t
 
typedef std::shared_ptr< TemplateInfo > TP_TInfo_t
 

Enumerations

enum  ETypeDetails {
  kNone = 0x0000 , kIsStaticData = 0x0001 , kIsConstData = 0x0002 , kIsArrayType = 0x0004 ,
  kIsEnumPrep = 0x0008 , kIsEnumType = 0x0010 , kIsCachable = 0x0020
}
 

Functions

static PyObject * add_template (PyObject *pyclass, const std::string &name, std::vector< PyCallable * > *overloads=nullptr)
 
static void AddPropertyToClass (PyObject *pyclass, interop::TCppScope_t scope, interop::TCppScope_t data)
 
static void AddScopeToParent (PyObject *parent, const std::string &name, PyObject *newscope)
 
bool AdjustSelf (PyCallArgs &cargs)
 
bool AllowImplicit (CallContext *ctxt)
 
bool AllowImplicitSmartPtrConversion (CallContext *ctxt)
 
PyObject * BindCppObject (interop::TCppObject_t object, interop::TCppScope_t klass, const unsigned flags=0)
 
PyObject * BindCppObjectArray (interop::TCppObject_t address, interop::TCppScope_t klass, cdims_t dims)
 
PyObject * BindCppObjectNoCast (interop::TCppObject_t object, interop::TCppScope_t klass, const unsigned flags=0)
 
static PyObject * BuildCppClassBases (interop::TCppScope_t klass)
 
static int BuildScopeProxyDict (interop::TCppScope_t scope, PyObject *pyclass, const unsigned int flags)
 
static PyObject * CallMethodImp (TemplateProxy *pytmpl, PyObject *&pymeth, cpyrt_PyArgs_t args, size_t nargsf, PyObject *kwds, bool impOK, uint64_t sighash)
 
CPYRT_EXTERN void * CallVoidP (interop::TCppMethod_t, interop::TCppObject_t, CallContext *)
 
static void * cast_actual (void *obj)
 
static void CollectUniqueBases (interop::TCppScope_t klass, std::deque< interop::TCppScope_t > &uqb)
 
template<typename T >
bool CPPDataMember_Check (T *object)
 
template<typename T >
bool CPPDataMember_CheckExact (T *object)
 
CPPDataMember * CPPDataMember_New (interop::TCppScope_t scope, interop::TCppScope_t var)
 
CPPDataMember * CPPDataMember_NewConstant (interop::TCppScope_t scope, const std::string &name, void *address)
 
CPPEnum * CPPEnum_New (const std::string &name, interop::TCppScope_t scope)
 
template<typename T >
bool CPPExcInstance_Check (T *object)
 
template<typename T >
bool CPPExcInstance_CheckExact (T *object)
 
template<typename T >
bool CPPInstance_Check (T *object)
 
template<typename T >
bool CPPInstance_CheckExact (T *object)
 
template<typename T >
bool CPPOverload_Check (T *object)
 
template<typename T >
bool CPPOverload_CheckExact (T *object)
 
CPPOverload * CPPOverload_New (const std::string &name, PyCallable *method)
 
CPPOverload * CPPOverload_New (const std::string &name, std::vector< PyCallable * > &methods)
 
template<typename T >
bool CPPScope_Check (T *object)
 
template<typename T >
bool CPPScope_CheckExact (T *object)
 
CPPScope * CPPScopeMeta_New (interop::TCppScope_t klass, PyObject *args)
 
PyObject * CppType_To_PyObject (interop::TCppType_t type, std::string name, interop::TCppScope_t parent_scope, PyObject *parent)
 
static Py_hash_t cpyrt_PyLong_AsHash_t (PyObject *obj)
 
CPYRT_EXTERN Converter * CreateConverter (const std::string &name, cdims_t=0)
 
CPYRT_EXTERN Converter * CreateConverter (interop::TCppType_t type, cdims_t=0)
 
PyObject * CreateExcScopeProxy (PyObject *pyscope, PyObject *pyname, PyObject *parent)
 
CPYRT_EXTERN Executor * CreateExecutor (const std::string &name, cdims_t=0)
 
CPYRT_EXTERN Executor * CreateExecutor (interop::TCppType_t type, cdims_t=0)
 
PyObject * CreateLowLevelView (bool **, cdims_t shape)
 
PyObject * CreateLowLevelView (bool *, cdims_t shape)
 
PyObject * CreateLowLevelView (char **, cdims_t shape)
 
PyObject * CreateLowLevelView (char *, cdims_t shape)
 
PyObject * CreateLowLevelView (double **, cdims_t shape)
 
PyObject * CreateLowLevelView (double *, cdims_t shape)
 
PyObject * CreateLowLevelView (float **, cdims_t shape)
 
PyObject * CreateLowLevelView (float *, cdims_t shape)
 
PyObject * CreateLowLevelView (int **, cdims_t shape)
 
PyObject * CreateLowLevelView (int *, cdims_t shape)
 
PyObject * CreateLowLevelView (long **, cdims_t shape)
 
PyObject * CreateLowLevelView (long *, cdims_t shape)
 
PyObject * CreateLowLevelView (long double **, cdims_t shape)
 
PyObject * CreateLowLevelView (long double *, cdims_t shape)
 
PyObject * CreateLowLevelView (long long **, cdims_t shape)
 
PyObject * CreateLowLevelView (long long *, cdims_t shape)
 
PyObject * CreateLowLevelView (short **, cdims_t shape)
 
PyObject * CreateLowLevelView (short *, cdims_t shape)
 
PyObject * CreateLowLevelView (signed char **, cdims_t shape)
 
PyObject * CreateLowLevelView (signed char *, cdims_t shape)
 
PyObject * CreateLowLevelView (std::byte **, cdims_t shape)
 
PyObject * CreateLowLevelView (std::byte *, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< double > **, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< double > *, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< float > **, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< float > *, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< int > **, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< int > *, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< long > **, cdims_t shape)
 
PyObject * CreateLowLevelView (std::complex< long > *, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned char **, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned char *, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned int **, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned int *, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned long **, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned long *, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned long long **, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned long long *, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned short **, cdims_t shape)
 
PyObject * CreateLowLevelView (unsigned short *, cdims_t shape)
 
PyObject * CreateLowLevelView_i16 (int16_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i16 (int16_t *, cdims_t shape)
 
PyObject * CreateLowLevelView_i16 (uint16_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i16 (uint16_t *, cdims_t shape)
 
PyObject * CreateLowLevelView_i32 (int32_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i32 (int32_t *, cdims_t shape)
 
PyObject * CreateLowLevelView_i32 (uint32_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i32 (uint32_t *, cdims_t shape)
 
PyObject * CreateLowLevelView_i8 (int8_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i8 (int8_t *, cdims_t shape)
 
PyObject * CreateLowLevelView_i8 (uint8_t **, cdims_t shape)
 
PyObject * CreateLowLevelView_i8 (uint8_t *, cdims_t shape)
 
PyObject * CreateLowLevelViewString (char **, cdims_t shape)
 
PyObject * CreateLowLevelViewString (const char **, cdims_t shape)
 
static PyObject * CreateNewCppProxyClass (interop::TCppScope_t klass, PyObject *pybases)
 
PyObject * CreatePointerView (void *ptr, cdims_t shape=0)
 
bool CreatePyStrings ()
 
PyObject * CreateScopeProxy (const std::string &scope_name, PyObject *parent=nullptr, const unsigned flags=0)
 
PyObject * CreateScopeProxy (interop::TCppScope_t scope, PyObject *parent=nullptr, const unsigned flags=0)
 
PyObject * CreateScopeProxy (PyObject *, PyObject *args)
 
template<typename T >
bool CustomInstanceMethod_Check (T *object)
 
template<typename T >
bool CustomInstanceMethod_CheckExact (T *object)
 
PyObject * CustomInstanceMethod_New (PyObject *func, PyObject *self, PyObject *)
 
CPYRT_EXTERN void DestroyConverter (Converter *p)
 
CPYRT_EXPORT void DestroyExecutor (Executor *p)
 
PyObject * DestroyPyStrings ()
 
static void dm_dealloc (CPPDataMember *dm)
 
static PyObject * dm_get (CPPDataMember *dm, CPPInstance *pyobj, PyObject *)
 
static CPPDataMember * dm_new (PyTypeObject *pytype, PyObject *, PyObject *)
 
static PyObject * dm_reflex (CPPDataMember *dm, PyObject *args)
 
static int dm_set (CPPDataMember *dm, CPPInstance *pyobj, PyObject *value)
 
static int ep_clear (CPPExcInstance *pyobj)
 
static void ep_dealloc (CPPExcInstance *pyobj)
 
static PyObject * ep_getattro (CPPExcInstance *self, PyObject *attr)
 
static PyObject * ep_new (PyTypeObject *subtype, PyObject *args, PyObject *kwds)
 
static int ep_nonzero (CPPExcInstance *self)
 
static PyObject * ep_repr (CPPExcInstance *self)
 
static PyObject * ep_richcompare (CPPExcInstance *self, PyObject *other, int op)
 
static int ep_setattro (CPPExcInstance *self, PyObject *attr, PyObject *value)
 
static PyObject * ep_str (CPPExcInstance *self)
 
static int ep_traverse (CPPExcInstance *pyobj, visitproc visit, void *args)
 
static PyObject * eqneq_binop (CPPClass *klass, PyObject *self, PyObject *obj, int op)
 
CPYRT_EXTERN bool Exec (const std::string &cmd)
 
CPYRT_EXTERN void ExecScript (const std::string &name, const std::vector< std::string > &args)
 
static PyObject * GetAttrDirect (PyObject *pyclass, PyObject *pyname)
 
PyObject * GetScopeProxy (interop::TCppScope_t)
 
uint64_t HashSignature (cpyrt_PyArgs_t args, size_t nargsf)
 
bool HaveImplicit (CallContext *ctxt)
 
static PyObject * im_call (PyObject *meth, PyObject *args, PyObject *kw)
 
static void im_dealloc (PyMethodObject *im)
 
static PyObject * im_descr_get (PyObject *meth, PyObject *obj, PyObject *pyclass)
 
CPYRT_EXTERN bool Import (const std::string &name)
 
static void indexiter_dealloc (indexiterobject *ii)
 
static PyObject * indexiter_iternext (indexiterobject *ii)
 
static int indexiter_traverse (indexiterobject *ii, visitproc visit, void *arg)
 
PyObject * Init ()
 
bool InsertDispatcher (CPPScope *klass, PyObject *bases, PyObject *dct, std::ostringstream &err)
 
CPYRT_EXTERN void * Instance_AsVoidPtr (PyObject *pyobject)
 
CPYRT_EXTERN bool Instance_Check (PyObject *pyobject)
 
CPYRT_EXTERN bool Instance_CheckExact (PyObject *pyobject)
 
PyObject * Instance_FromVoidPtr (void *addr, const char *classname, int python_owns)
 
CPYRT_EXTERN PyObject * Instance_FromVoidPtr (void *addr, const std::string &classname, bool python_owns=false)
 
CPYRT_EXTERN PyObject * Instance_FromVoidPtr (void *addr, interop::TCppScope_t klass_scope, bool python_owns=false)
 
CPYRT_EXTERN std::string Instance_GetScopedFinalName (PyObject *pyobject)
 
CPYRT_EXTERN bool Instance_IsLively (PyObject *pyobject)
 
CPYRT_EXTERN void Instance_SetCppOwns (PyObject *pyobject)
 
CPYRT_EXTERN void Instance_SetPythonOwns (PyObject *pyobject)
 
CPYRT_EXTERN void Instance_SetReduceMethod (PyCFunction reduceMethod)
 
bool IsConstructor (uint64_t flags)
 
bool IsCreator (uint64_t flags)
 
bool IsSorted (uint64_t flags)
 
template<typename T >
bool LowLevelView_Check (T *object)
 
template<typename T >
bool LowLevelView_CheckExact (T *object)
 
static PyObject * meta_alloc (PyTypeObject *meta, Py_ssize_t nitems)
 
static void meta_dealloc (CPPScope *scope)
 
static PyObject * meta_dir (CPPScope *klass)
 
static PyObject * meta_getattro (PyObject *pyclass, PyObject *pyname)
 
static PyObject * meta_getcppname (CPPScope *scope, void *)
 
static PyObject * meta_getmodule (CPPScope *scope, void *)
 
static PyObject * meta_reflex (CPPScope *klass, PyObject *args)
 
static PyObject * meta_repr (CPPScope *scope)
 
static int meta_setattro (PyObject *pyclass, PyObject *pyname, PyObject *pyval)
 
static int meta_setmodule (CPPScope *scope, PyObject *value, void *)
 
bool NoImplicit (CallContext *ctxt)
 
static PyObject * op_add_stub (PyObject *left, PyObject *right)
 
static int op_clear (CPPInstance *pyobj)
 
static void op_dealloc (CPPInstance *pyobj)
 
void op_dealloc_nofree (CPPInstance *)
 
static PyObject * op_destruct (CPPInstance *self)
 
static PyObject * op_dispatch (PyObject *self, PyObject *args, PyObject *)
 
static PyObject * op_div_stub (PyObject *left, PyObject *right)
 
static PyObject * op_get_smartptr (CPPInstance *self)
 
static PyObject * op_getownership (CPPInstance *pyobj, void *)
 
static Py_hash_t op_hash (CPPInstance *self)
 
static PyObject * op_invert_stub (PyObject *pyobj)
 
static PyObject * op_item (CPPInstance *self, Py_ssize_t idx)
 
static PyObject * op_mul_stub (PyObject *left, PyObject *right)
 
static PyObject * op_neg_stub (PyObject *pyobj)
 
static CPPInstance * op_new (PyTypeObject *subtype, PyObject *, PyObject *)
 
static int op_nonzero (CPPInstance *self)
 
static PyObject * op_pos_stub (PyObject *pyobj)
 
PyObject * op_reduce (PyObject *self, PyObject *args)
 
static PyObject * op_repr (CPPInstance *self)
 
static PyObject * op_reshape (CPPInstance *self, PyObject *shape)
 
static PyObject * op_richcompare (CPPInstance *self, PyObject *other, int op)
 
static int op_setownership (CPPInstance *pyobj, PyObject *value, void *)
 
static PyObject * op_str (CPPInstance *self)
 
static PyObject * op_str_internal (PyObject *pyobj, PyObject *lshift, bool isBound)
 
static PyObject * op_sub_stub (PyObject *left, PyObject *right)
 
static int op_traverse (CPPInstance *, visitproc, void *)
 
CPYRT_EXTERN bool Overload_Check (PyObject *pyobject)
 
CPYRT_EXTERN bool Overload_CheckExact (PyObject *pyobject)
 
CPYRT_EXTERN void Prompt ()
 
static PyObject * pt_new (PyTypeObject *subtype, PyObject *args, PyObject *kwds)
 
unsigned long PyLongOrInt_AsULong (PyObject *pyobject)
 
PY_ULONG_LONG PyLongOrInt_AsULong64 (PyObject *pyobject)
 
std::unordered_map< std::string, std::vector< PyObject * > > & pythonizations ()
 
bool Pythonize (PyObject *pyclass, interop::TCppScope_t scope)
 
PyObject * pyval_from_enum (const std::string &enum_type, PyObject *pytype, PyObject *btype, interop::TCppScope_t enum_constant)
 
CPYRT_EXPORT bool RegisterConverter (const std::string &name, cf_t fac)
 
CPYRT_EXTERN bool RegisterConverter (const std::string &name, ConverterFactory_t)
 
CPYRT_EXTERN bool RegisterConverterAlias (const std::string &name, const std::string &target)
 
CPYRT_EXTERN bool RegisterExecutor (const std::string &name, ExecutorFactory_t)
 
CPYRT_EXTERN bool RegisterExecutorAlias (const std::string &name, const std::string &target)
 
bool ReleasesGIL (CallContext *ctxt)
 
CPYRT_EXTERN bool Scope_Check (PyObject *pyobject)
 
CPYRT_EXTERN bool Scope_CheckExact (PyObject *pyobject)
 
static bool ScopeFlagCheck (CPPInstance *self, CPPScope::EFlags flag)
 
static void ScopeFlagSet (CPPInstance *self, CPPScope::EFlags flag)
 
static PyObject * SelectAndForward (TemplateProxy *pytmpl, CPPOverload *pymeth, cpyrt_PyArgs_t args, size_t nargsf, PyObject *kwds, bool implicitOkay, bool use_targs, uint64_t sighash, std::vector< Utility::PyError_t > &errors)
 
CPYRT_EXTERN bool Sequence_Check (PyObject *pyobject)
 
static void sync_templates (PyObject *pyclass, const std::string &mtCppName, const std::string &mtName)
 
static std::string targs2str (TemplateProxy *pytmpl)
 
template<typename T >
bool TemplateProxy_Check (T *object)
 
template<typename T >
bool TemplateProxy_CheckExact (T *object)
 
TemplateProxy * TemplateProxy_New (const std::string &cppname, const std::string &pyname, PyObject *pyclass)
 
static int tpp_clear (TemplateProxy *pytmpl)
 
static void tpp_dealloc (TemplateProxy *pytmpl)
 
static TemplateProxy * tpp_descr_get (TemplateProxy *pytmpl, PyObject *pyobj, PyObject *)
 
static PyObject * tpp_doc (TemplateProxy *pytmpl, void *)
 
static int tpp_doc_set (TemplateProxy *pytmpl, PyObject *val, void *)
 
static PyObject * tpp_gettemplateargs (TemplateProxy *self, void *)
 
static PyObject * tpp_getuseffi (CPPOverload *, void *)
 
static Py_hash_t tpp_hash (TemplateProxy *self)
 
static TemplateProxy * tpp_new (PyTypeObject *, PyObject *, PyObject *)
 
static PyObject * tpp_overload (TemplateProxy *pytmpl, PyObject *args)
 
static PyObject * tpp_richcompare (TemplateProxy *self, PyObject *other, int op)
 
static int tpp_settemplateargs (TemplateProxy *, PyObject *, void *)
 
static int tpp_setuseffi (CPPOverload *, PyObject *, void *)
 
static PyObject * tpp_subscript (TemplateProxy *pytmpl, PyObject *args)
 
static int tpp_traverse (TemplateProxy *pytmpl, visitproc visit, void *arg)
 
static PyObject * tpp_vectorcall (TemplateProxy *pytmpl, PyObject *const *args, size_t nargsf, PyObject *kwds)
 
static PyObject * tptc_call (typedefpointertoclassobject *self, PyObject *args, PyObject *)
 
static PyObject * tptc_getcppname (typedefpointertoclassobject *self, void *)
 
static PyObject * tptc_name (typedefpointertoclassobject *self, void *)
 
template<typename T >
bool TupleOfInstances_Check (T *object)
 
template<typename T >
bool TupleOfInstances_CheckExact (T *object)
 
PyObject * TupleOfInstances_New (interop::TCppObject_t address, interop::TCppScope_t klass, cdims_t dims)
 
template<typename T >
bool TypedefPointerToClass_Check (T *object)
 
template<typename T >
bool TypedefPointerToClass_CheckExact (T *object)
 
CPYRT_EXTERN bool UnregisterConverter (const std::string &name)
 
CPYRT_EXTERN bool UnregisterExecutor (const std::string &name)
 
static void UpdateDispatchMap (TemplateProxy *pytmpl, bool use_targs, uint64_t sighash, CPPOverload *pymeth)
 
bool UseStrictOwnership ()
 
static void vectoriter_dealloc (vectoriterobject *vi)
 
static PyObject * vectoriter_iternext (vectoriterobject *vi)
 

Variables

PyTypeObject CPPDataMember_Type
 
PyTypeObject CPPExcInstance_Type
 
PyTypeObject CPPInstance_Type
 
PyTypeObject CPPOverload_Type
 
PyTypeObject CPPScope_Type
 
PyTypeObject CustomInstanceMethod_Type
 
static PyMemberDef dm_members []
 
static PyMethodDef dm_methods []
 
static PyNumberMethods ep_as_number
 
static PyMethodObject * free_list
 
PyObject * gAbrtException = nullptr
 
PyObject * gBusException = nullptr
 
std::ostringstream gCapturedError
 
static ConvFactories_t gConvFactories
 
PyObject * gDefaultObject = nullptr
 
static ExecFactories_t gExecFactories
 
PyObject * gIllException = nullptr
 
std::set< std::string > gIteratorTypes
 
PyObject * gNullPtrObject = nullptr
 
std::streambuf * gOldErrorBuffer = nullptr
 
std::unordered_set< interop::TCppScope_t > gPinnedTypes
 
PyObject * gPyTypeMap = nullptr
 
PyObject * gSegvException = nullptr
 
PyObject * gThisModule = nullptr
 
PyTypeObject IndexIter_Type
 
PyTypeObject InstanceArrayIter_Type
 
PyTypeObject LowLevelView_Type
 
static PyGetSetDef meta_getset []
 
static PyMethodDef meta_methods []
 
static int numfree = 0
 
static PyNumberMethods op_as_number
 
static PySequenceMethods op_as_sequence
 
static PyGetSetDef op_getset []
 
static PyMethodDef op_methods []
 
const int SMALL_ARGS_N = 8
 
PyTypeObject TemplateProxy_Type
 
static PyMappingMethods tpp_as_mapping
 
static PyGetSetDef tpp_getset []
 
static PyMethodDef tpp_methods []
 
static PyGetSetDef tptc_getset []
 
PyTypeObject TupleOfInstances_Type
 Representation of C-style array of instances.
 
PyTypeObject TypedefPointerToClass_Type
 
static const dim_t UNKNOWN_SIZE = (dim_t)-1
 
PyTypeObject VectorIter_Type
 

Typedef Documentation

◆ cdims_t

typedef const dims_t & cppjit::cpyrt::cdims_t

Definition at line 114 of file API.h.

◆ cf_t

typedef Converter *(* cppjit::cpyrt::cf_t) (cdims_t d)

Definition at line 41 of file Converters.h.

◆ CI_DatamemberCache_t

typedef std::vector<std::pair<ptrdiff_t, PyObject*> > cppjit::cpyrt::CI_DatamemberCache_t

Definition at line 26 of file CPPInstance.h.

◆ ConverterFactory_t

typedef Converter *(* cppjit::cpyrt::ConverterFactory_t) (cdims_t)

Definition at line 144 of file API.h.

◆ ConvFactories_t

typedef std::unordered_map<std::string, cf_t> cppjit::cpyrt::ConvFactories_t

Definition at line 44 of file Converters.cxx.

◆ CPPClass

Definition at line 75 of file CPPScope.h.

◆ CPPEnum

Definition at line 8 of file CPPEnum.h.

◆ CppToPyMap_t

Type object to hold class reference (this is only semantically a presentation of CPPScope instances, not in a C++ sense)

Author
WLAV
Date
07/06/2017
Version
2.0

Definition at line 38 of file CPPScope.h.

◆ dim_t

typedef Py_ssize_t cppjit::cpyrt::dim_t

Definition at line 100 of file API.h.

◆ dims_t

Definition at line 113 of file API.h.

◆ ef_t

typedef Executor *(* cppjit::cpyrt::ef_t) (cdims_t)

Definition at line 40 of file Executors.h.

◆ ExecFactories_t

typedef std::unordered_map<std::string, ef_t> cppjit::cpyrt::ExecFactories_t

Definition at line 25 of file Executors.cxx.

◆ ExecutorFactory_t

typedef Executor *(* cppjit::cpyrt::ExecutorFactory_t) (cdims_t)

Definition at line 176 of file API.h.

◆ MemHook_t

Definition at line 16 of file MemoryRegulator.h.

◆ TP_DispatchEntry_t

typedef std::pair<uint64_t, CPPOverload*> cppjit::cpyrt::TP_DispatchEntry_t

Template proxy object to return functions and methods.

Definition at line 23 of file TemplateProxy.h.

◆ TP_DispatchMap_t

typedef std::unordered_map<std::string, std::vector<TP_DispatchEntry_t> > cppjit::cpyrt::TP_DispatchMap_t

Definition at line 25 of file TemplateProxy.h.

◆ TP_TInfo_t

typedef std::shared_ptr<TemplateInfo> cppjit::cpyrt::TP_TInfo_t

Definition at line 45 of file TemplateProxy.h.

Enumeration Type Documentation

◆ ETypeDetails

Enumerator
kNone 
kIsStaticData 
kIsConstData 
kIsArrayType 
kIsEnumPrep 
kIsEnumType 
kIsCachable 

Definition at line 25 of file CPPDataMember.cxx.

Function Documentation

◆ add_template()

static PyObject * cppjit::cpyrt::add_template ( PyObject * pyclass,
const std::string & name,
std::vector< PyCallable * > * overloads = nullptr )
inlinestatic

Definition at line 32 of file CPPScope.cxx.

◆ AddPropertyToClass()

static void cppjit::cpyrt::AddPropertyToClass ( PyObject * pyclass,
interop::TCppScope_t scope,
interop::TCppScope_t data )
inlinestatic

Definition at line 93 of file ProxyWrappers.cxx.

◆ AddScopeToParent()

static void cppjit::cpyrt::AddScopeToParent ( PyObject * parent,
const std::string & name,
PyObject * newscope )
inlinestatic

Definition at line 122 of file ProxyWrappers.cxx.

◆ AdjustSelf()

bool cppjit::cpyrt::AdjustSelf ( PyCallArgs & cargs)

Definition at line 13 of file CPPFunction.cxx.

◆ AllowImplicit()

bool cppjit::cpyrt::AllowImplicit ( CallContext * ctxt)
inline

Definition at line 119 of file CallContext.h.

◆ AllowImplicitSmartPtrConversion()

bool cppjit::cpyrt::AllowImplicitSmartPtrConversion ( CallContext * ctxt)
inline

Definition at line 142 of file CallContext.h.

◆ BindCppObject()

PyObject * cppjit::cpyrt::BindCppObject ( interop::TCppObject_t object,
interop::TCppScope_t klass,
const unsigned flags = 0 )

Definition at line 1018 of file ProxyWrappers.cxx.

◆ BindCppObjectArray()

PyObject * cppjit::cpyrt::BindCppObjectArray ( interop::TCppObject_t address,
interop::TCppScope_t klass,
cdims_t dims )

Definition at line 1062 of file ProxyWrappers.cxx.

◆ BindCppObjectNoCast()

PyObject * cppjit::cpyrt::BindCppObjectNoCast ( interop::TCppObject_t object,
interop::TCppScope_t klass,
const unsigned flags = 0 )

Definition at line 890 of file ProxyWrappers.cxx.

◆ BuildCppClassBases()

static PyObject * cppjit::cpyrt::BuildCppClassBases ( interop::TCppScope_t klass)
static

Definition at line 506 of file ProxyWrappers.cxx.

◆ BuildScopeProxyDict()

static int cppjit::cpyrt::BuildScopeProxyDict ( interop::TCppScope_t scope,
PyObject * pyclass,
const unsigned int flags )
static

Definition at line 168 of file ProxyWrappers.cxx.

◆ CallMethodImp()

static PyObject * cppjit::cpyrt::CallMethodImp ( TemplateProxy * pytmpl,
PyObject *& pymeth,
cpyrt_PyArgs_t args,
size_t nargsf,
PyObject * kwds,
bool impOK,
uint64_t sighash )
inlinestatic

Definition at line 549 of file TemplateProxy.cxx.

◆ CallVoidP()

CPYRT_EXPORT void * cppjit::cpyrt::CallVoidP ( interop::TCppMethod_t ,
interop::TCppObject_t ,
CallContext *  )

Definition at line 1168 of file Executors.cxx.

◆ cast_actual()

static void * cppjit::cpyrt::cast_actual ( void * obj)
inlinestatic

Definition at line 595 of file CPPInstance.cxx.

◆ CollectUniqueBases()

static void cppjit::cpyrt::CollectUniqueBases ( interop::TCppScope_t klass,
std::deque< interop::TCppScope_t > & uqb )
static

Definition at line 472 of file ProxyWrappers.cxx.

◆ CPPDataMember_Check()

template<typename T >
bool cppjit::cpyrt::CPPDataMember_Check ( T * object)
inline

Definition at line 42 of file CPPDataMember.h.

◆ CPPDataMember_CheckExact()

template<typename T >
bool cppjit::cpyrt::CPPDataMember_CheckExact ( T * object)
inline

Definition at line 46 of file CPPDataMember.h.

◆ CPPDataMember_New()

CPPDataMember * cppjit::cpyrt::CPPDataMember_New ( interop::TCppScope_t scope,
interop::TCppScope_t var )
inline

Definition at line 51 of file CPPDataMember.h.

◆ CPPDataMember_NewConstant()

CPPDataMember * cppjit::cpyrt::CPPDataMember_NewConstant ( interop::TCppScope_t scope,
const std::string & name,
void * address )
inline

Definition at line 60 of file CPPDataMember.h.

◆ CPPEnum_New()

cpyrt::CPPEnum * cppjit::cpyrt::CPPEnum_New ( const std::string & name,
interop::TCppScope_t scope )

Definition at line 156 of file CPPEnum.cxx.

◆ CPPExcInstance_Check()

template<typename T >
bool cppjit::cpyrt::CPPExcInstance_Check ( T * object)
inline

Definition at line 24 of file CPPExcInstance.h.

◆ CPPExcInstance_CheckExact()

template<typename T >
bool cppjit::cpyrt::CPPExcInstance_CheckExact ( T * object)
inline

Definition at line 28 of file CPPExcInstance.h.

◆ CPPInstance_Check()

template<typename T >
bool cppjit::cpyrt::CPPInstance_Check ( T * object)
inline

Definition at line 132 of file CPPInstance.h.

◆ CPPInstance_CheckExact()

template<typename T >
bool cppjit::cpyrt::CPPInstance_CheckExact ( T * object)
inline

Definition at line 140 of file CPPInstance.h.

◆ CPPOverload_Check()

template<typename T >
bool cppjit::cpyrt::CPPOverload_Check ( T * object)
inline

Definition at line 94 of file CPPOverload.h.

◆ CPPOverload_CheckExact()

template<typename T >
bool cppjit::cpyrt::CPPOverload_CheckExact ( T * object)
inline

Definition at line 98 of file CPPOverload.h.

◆ CPPOverload_New() [1/2]

CPPOverload * cppjit::cpyrt::CPPOverload_New ( const std::string & name,
PyCallable * method )
inline

Definition at line 112 of file CPPOverload.h.

◆ CPPOverload_New() [2/2]

CPPOverload * cppjit::cpyrt::CPPOverload_New ( const std::string & name,
std::vector< PyCallable * > & methods )
inline

Definition at line 103 of file CPPOverload.h.

◆ CPPScope_Check()

template<typename T >
bool cppjit::cpyrt::CPPScope_Check ( T * object)
inline

Definition at line 86 of file CPPScope.h.

◆ CPPScope_CheckExact()

template<typename T >
bool cppjit::cpyrt::CPPScope_CheckExact ( T * object)
inline

Definition at line 93 of file CPPScope.h.

◆ CPPScopeMeta_New()

CPPScope * cppjit::cpyrt::CPPScopeMeta_New ( interop::TCppScope_t klass,
PyObject * args )
inline

Definition at line 98 of file CPPScope.h.

◆ CppType_To_PyObject()

PyObject * cppjit::cpyrt::CppType_To_PyObject ( interop::TCppType_t type,
std::string name,
interop::TCppScope_t parent_scope,
PyObject * parent )

Definition at line 570 of file ProxyWrappers.cxx.

◆ cpyrt_PyLong_AsHash_t()

static Py_hash_t cppjit::cpyrt::cpyrt_PyLong_AsHash_t ( PyObject * obj)
inlinestatic

Definition at line 752 of file CPPInstance.cxx.

◆ CreateConverter() [1/2]

CPYRT_EXPORT Converter * cppjit::cpyrt::CreateConverter ( const std::string & name,
cdims_t = 0 )

Definition at line 3476 of file Converters.cxx.

◆ CreateConverter() [2/2]

CPYRT_EXPORT Converter * cppjit::cpyrt::CreateConverter ( interop::TCppType_t type,
cdims_t = 0 )

Definition at line 3701 of file Converters.cxx.

◆ CreateExcScopeProxy()

PyObject * cppjit::cpyrt::CreateExcScopeProxy ( PyObject * pyscope,
PyObject * pyname,
PyObject * parent )

Definition at line 801 of file ProxyWrappers.cxx.

◆ CreateExecutor() [1/2]

CPYRT_EXPORT Executor * cppjit::cpyrt::CreateExecutor ( const std::string & name,
cdims_t = 0 )

Definition at line 860 of file Executors.cxx.

◆ CreateExecutor() [2/2]

CPYRT_EXPORT Executor * cppjit::cpyrt::CreateExecutor ( interop::TCppType_t type,
cdims_t = 0 )

Definition at line 976 of file Executors.cxx.

◆ CreateLowLevelView() [1/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( bool ** address,
cdims_t shape )

Definition at line 1173 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [2/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( bool * address,
cdims_t shape )

Definition at line 1173 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [3/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( char ** address,
cdims_t shape )

Definition at line 1198 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [4/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( char * address,
cdims_t shape )

Definition at line 1193 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [5/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( double ** address,
cdims_t shape )

Definition at line 1186 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [6/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( double * address,
cdims_t shape )

Definition at line 1186 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [7/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( float ** address,
cdims_t shape )

Definition at line 1185 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [8/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( float * address,
cdims_t shape )

Definition at line 1185 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [9/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( int ** address,
cdims_t shape )

Definition at line 1179 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [10/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( int * address,
cdims_t shape )

Definition at line 1179 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [11/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long ** address,
cdims_t shape )

Definition at line 1181 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [12/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long * address,
cdims_t shape )

Definition at line 1181 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [13/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long double ** address,
cdims_t shape )

Definition at line 1187 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [14/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long double * address,
cdims_t shape )

Definition at line 1187 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [15/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long long ** address,
cdims_t shape )

Definition at line 1183 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [16/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( long long * address,
cdims_t shape )

Definition at line 1183 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [17/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( short ** address,
cdims_t shape )

Definition at line 1177 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [18/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( short * address,
cdims_t shape )

Definition at line 1177 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [19/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( signed char ** address,
cdims_t shape )

Definition at line 1174 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [20/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( signed char * address,
cdims_t shape )

Definition at line 1174 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [21/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::byte ** address,
cdims_t shape )

Definition at line 1176 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [22/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::byte * address,
cdims_t shape )

Definition at line 1176 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [23/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< double > ** address,
cdims_t shape )

Definition at line 1189 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [24/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< double > * address,
cdims_t shape )

Definition at line 1189 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [25/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< float > ** address,
cdims_t shape )

Definition at line 1188 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [26/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< float > * address,
cdims_t shape )

Definition at line 1188 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [27/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< int > ** address,
cdims_t shape )

Definition at line 1190 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [28/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< int > * address,
cdims_t shape )

Definition at line 1190 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [29/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< long > ** address,
cdims_t shape )

Definition at line 1191 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [30/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( std::complex< long > * address,
cdims_t shape )

Definition at line 1191 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [31/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned char ** address,
cdims_t shape )

Definition at line 1175 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [32/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned char * address,
cdims_t shape )

Definition at line 1175 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [33/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned int ** address,
cdims_t shape )

Definition at line 1180 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [34/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned int * address,
cdims_t shape )

Definition at line 1180 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [35/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned long ** address,
cdims_t shape )

Definition at line 1182 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [36/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned long * address,
cdims_t shape )

Definition at line 1182 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [37/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned long long ** address,
cdims_t shape )

Definition at line 1184 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [38/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned long long * address,
cdims_t shape )

Definition at line 1184 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [39/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned short ** address,
cdims_t shape )

Definition at line 1178 of file LowLevelViews.cxx.

◆ CreateLowLevelView() [40/40]

PyObject * cppjit::cpyrt::CreateLowLevelView ( unsigned short * address,
cdims_t shape )

Definition at line 1178 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i16() [1/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i16 ( int16_t ** address,
cdims_t shape )

Definition at line 1243 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i16() [2/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i16 ( int16_t * address,
cdims_t shape )

Definition at line 1237 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i16() [3/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i16 ( uint16_t ** address,
cdims_t shape )

Definition at line 1255 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i16() [4/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i16 ( uint16_t * address,
cdims_t shape )

Definition at line 1249 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i32() [1/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i32 ( int32_t ** address,
cdims_t shape )

Definition at line 1267 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i32() [2/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i32 ( int32_t * address,
cdims_t shape )

Definition at line 1261 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i32() [3/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i32 ( uint32_t ** address,
cdims_t shape )

Definition at line 1279 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i32() [4/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i32 ( uint32_t * address,
cdims_t shape )

Definition at line 1273 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i8() [1/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i8 ( int8_t ** address,
cdims_t shape )

Definition at line 1220 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i8() [2/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i8 ( int8_t * address,
cdims_t shape )

Definition at line 1215 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i8() [3/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i8 ( uint8_t ** address,
cdims_t shape )

Definition at line 1231 of file LowLevelViews.cxx.

◆ CreateLowLevelView_i8() [4/4]

PyObject * cppjit::cpyrt::CreateLowLevelView_i8 ( uint8_t * address,
cdims_t shape )

Definition at line 1225 of file LowLevelViews.cxx.

◆ CreateLowLevelViewString() [1/2]

PyObject * cppjit::cpyrt::CreateLowLevelViewString ( char ** address,
cdims_t shape )

Definition at line 1203 of file LowLevelViews.cxx.

◆ CreateLowLevelViewString() [2/2]

PyObject * cppjit::cpyrt::CreateLowLevelViewString ( const char ** address,
cdims_t shape )

Definition at line 1209 of file LowLevelViews.cxx.

◆ CreateNewCppProxyClass()

static PyObject * cppjit::cpyrt::CreateNewCppProxyClass ( interop::TCppScope_t klass,
PyObject * pybases )
static

Definition at line 54 of file ProxyWrappers.cxx.

◆ CreatePointerView()

PyObject * cppjit::cpyrt::CreatePointerView ( void * ptr,
cdims_t shape = 0 )
inline

Definition at line 85 of file LowLevelViews.h.

◆ CreatePyStrings()

bool cppjit::cpyrt::CreatePyStrings ( )

Definition at line 88 of file PyStrings.cxx.

◆ CreateScopeProxy() [1/3]

PyObject * cppjit::cpyrt::CreateScopeProxy ( const std::string & scope_name,
PyObject * parent = nullptr,
const unsigned flags = 0 )

Definition at line 608 of file ProxyWrappers.cxx.

◆ CreateScopeProxy() [2/3]

PyObject * cppjit::cpyrt::CreateScopeProxy ( interop::TCppScope_t scope,
PyObject * parent = nullptr,
const unsigned flags = 0 )

Definition at line 665 of file ProxyWrappers.cxx.

◆ CreateScopeProxy() [3/3]

PyObject * cppjit::cpyrt::CreateScopeProxy ( PyObject * ,
PyObject * args )

Definition at line 598 of file ProxyWrappers.cxx.

◆ CustomInstanceMethod_Check()

template<typename T >
bool cppjit::cpyrt::CustomInstanceMethod_Check ( T * object)
inline

Definition at line 31 of file CustomPyTypes.h.

◆ CustomInstanceMethod_CheckExact()

template<typename T >
bool cppjit::cpyrt::CustomInstanceMethod_CheckExact ( T * object)
inline

Definition at line 35 of file CustomPyTypes.h.

◆ CustomInstanceMethod_New()

PyObject * cppjit::cpyrt::CustomInstanceMethod_New ( PyObject * func,
PyObject * self,
PyObject *  )

Definition at line 119 of file CustomPyTypes.cxx.

◆ DestroyConverter()

CPYRT_EXPORT void cppjit::cpyrt::DestroyConverter ( Converter * p)

Definition at line 3964 of file Converters.cxx.

◆ DestroyExecutor()

void cppjit::cpyrt::DestroyExecutor ( Executor * p)

Definition at line 1120 of file Executors.cxx.

◆ DestroyPyStrings()

PyObject * cppjit::cpyrt::DestroyPyStrings ( )

Definition at line 171 of file PyStrings.cxx.

◆ dm_dealloc()

static void cppjit::cpyrt::dm_dealloc ( CPPDataMember * dm)
static

Definition at line 223 of file CPPDataMember.cxx.

◆ dm_get()

static PyObject * cppjit::cpyrt::dm_get ( CPPDataMember * dm,
CPPInstance * pyobj,
PyObject *  )
static

Definition at line 36 of file CPPDataMember.cxx.

◆ dm_new()

static CPPDataMember * cppjit::cpyrt::dm_new ( PyTypeObject * pytype,
PyObject * ,
PyObject *  )
static

Definition at line 206 of file CPPDataMember.cxx.

◆ dm_reflex()

static PyObject * cppjit::cpyrt::dm_reflex ( CPPDataMember * dm,
PyObject * args )
static

Definition at line 243 of file CPPDataMember.cxx.

◆ dm_set()

static int cppjit::cpyrt::dm_set ( CPPDataMember * dm,
CPPInstance * pyobj,
PyObject * value )
static

Definition at line 146 of file CPPDataMember.cxx.

◆ ep_clear()

static int cppjit::cpyrt::ep_clear ( CPPExcInstance * pyobj)
static

Definition at line 111 of file CPPExcInstance.cxx.

◆ ep_dealloc()

static void cppjit::cpyrt::ep_dealloc ( CPPExcInstance * pyobj)
static

Definition at line 101 of file CPPExcInstance.cxx.

◆ ep_getattro()

static PyObject * cppjit::cpyrt::ep_getattro ( CPPExcInstance * self,
PyObject * attr )
static

Definition at line 122 of file CPPExcInstance.cxx.

◆ ep_new()

static PyObject * cppjit::cpyrt::ep_new ( PyTypeObject * subtype,
PyObject * args,
PyObject * kwds )
static

Definition at line 19 of file CPPExcInstance.cxx.

◆ ep_nonzero()

static int cppjit::cpyrt::ep_nonzero ( CPPExcInstance * self)
static

Definition at line 152 of file CPPExcInstance.cxx.

◆ ep_repr()

static PyObject * cppjit::cpyrt::ep_repr ( CPPExcInstance * self)
static

Definition at line 94 of file CPPExcInstance.cxx.

◆ ep_richcompare()

static PyObject * cppjit::cpyrt::ep_richcompare ( CPPExcInstance * self,
PyObject * other,
int op )
static

Definition at line 147 of file CPPExcInstance.cxx.

◆ ep_setattro()

static int cppjit::cpyrt::ep_setattro ( CPPExcInstance * self,
PyObject * attr,
PyObject * value )
static

Definition at line 134 of file CPPExcInstance.cxx.

◆ ep_str()

static PyObject * cppjit::cpyrt::ep_str ( CPPExcInstance * self)
static

Definition at line 67 of file CPPExcInstance.cxx.

◆ ep_traverse()

static int cppjit::cpyrt::ep_traverse ( CPPExcInstance * pyobj,
visitproc visit,
void * args )
static

Definition at line 53 of file CPPExcInstance.cxx.

◆ eqneq_binop()

static PyObject * cppjit::cpyrt::eqneq_binop ( CPPClass * klass,
PyObject * self,
PyObject * obj,
int op )
inlinestatic

Definition at line 474 of file CPPInstance.cxx.

◆ Exec()

bool cppjit::cpyrt::Exec ( const std::string & cmd)

Definition at line 447 of file API.cxx.

◆ ExecScript()

void cppjit::cpyrt::ExecScript ( const std::string & name,
const std::vector< std::string > & args )

Definition at line 367 of file API.cxx.

◆ GetAttrDirect()

static PyObject * cppjit::cpyrt::GetAttrDirect ( PyObject * pyclass,
PyObject * pyname )
inlinestatic

Definition at line 132 of file ProxyWrappers.cxx.

◆ GetScopeProxy()

PyObject * cppjit::cpyrt::GetScopeProxy ( interop::TCppScope_t scope)

Definition at line 558 of file ProxyWrappers.cxx.

◆ HashSignature()

uint64_t cppjit::cpyrt::HashSignature ( cpyrt_PyArgs_t args,
size_t nargsf )
inline

Definition at line 16 of file CPPOverload.h.

◆ HaveImplicit()

bool cppjit::cpyrt::HaveImplicit ( CallContext * ctxt)
inline

Definition at line 113 of file CallContext.h.

◆ im_call()

static PyObject * cppjit::cpyrt::im_call ( PyObject * meth,
PyObject * args,
PyObject * kw )
static

Definition at line 170 of file CustomPyTypes.cxx.

◆ im_dealloc()

static void cppjit::cpyrt::im_dealloc ( PyMethodObject * im)
static

Definition at line 149 of file CustomPyTypes.cxx.

◆ im_descr_get()

static PyObject * cppjit::cpyrt::im_descr_get ( PyObject * meth,
PyObject * obj,
PyObject * pyclass )
static

Definition at line 216 of file CustomPyTypes.cxx.

◆ Import()

bool cppjit::cpyrt::Import ( const std::string & name)

Definition at line 310 of file API.cxx.

◆ indexiter_dealloc()

static void cppjit::cpyrt::indexiter_dealloc ( indexiterobject * ii)
static

Definition at line 287 of file CustomPyTypes.cxx.

◆ indexiter_iternext()

static PyObject * cppjit::cpyrt::indexiter_iternext ( indexiterobject * ii)
static

Definition at line 298 of file CustomPyTypes.cxx.

◆ indexiter_traverse()

static int cppjit::cpyrt::indexiter_traverse ( indexiterobject * ii,
visitproc visit,
void * arg )
static

Definition at line 293 of file CustomPyTypes.cxx.

◆ Init()

PyObject * cppjit::cpyrt::Init ( )

Definition at line 923 of file cpyrtModule.cxx.

◆ InsertDispatcher()

bool cppjit::cpyrt::InsertDispatcher ( CPPScope * klass,
PyObject * bases,
PyObject * dct,
std::ostringstream & err )

Definition at line 185 of file Dispatcher.cxx.

◆ Instance_AsVoidPtr()

void * cppjit::cpyrt::Instance_AsVoidPtr ( PyObject * pyobject)

Definition at line 105 of file API.cxx.

◆ Instance_Check()

bool cppjit::cpyrt::Instance_Check ( PyObject * pyobject)

Definition at line 188 of file API.cxx.

◆ Instance_CheckExact()

bool cppjit::cpyrt::Instance_CheckExact ( PyObject * pyobject)

Definition at line 199 of file API.cxx.

◆ Instance_FromVoidPtr() [1/3]

PyObject * cppjit::cpyrt::Instance_FromVoidPtr ( void * addr,
const char * classname,
int python_owns )

Definition at line 161 of file API.cxx.

◆ Instance_FromVoidPtr() [2/3]

PyObject * cppjit::cpyrt::Instance_FromVoidPtr ( void * addr,
const std::string & classname,
bool python_owns = false )

Definition at line 121 of file API.cxx.

◆ Instance_FromVoidPtr() [3/3]

PyObject * cppjit::cpyrt::Instance_FromVoidPtr ( void * addr,
interop::TCppScope_t klass_scope,
bool python_owns = false )

Definition at line 141 of file API.cxx.

◆ Instance_GetScopedFinalName()

std::string cppjit::cpyrt::Instance_GetScopedFinalName ( PyObject * pyobject)

Definition at line 92 of file API.cxx.

◆ Instance_IsLively()

bool cppjit::cpyrt::Instance_IsLively ( PyObject * pyobject)

Definition at line 267 of file API.cxx.

◆ Instance_SetCppOwns()

void cppjit::cpyrt::Instance_SetCppOwns ( PyObject * pyobject)

Definition at line 222 of file API.cxx.

◆ Instance_SetPythonOwns()

void cppjit::cpyrt::Instance_SetPythonOwns ( PyObject * pyobject)

Definition at line 210 of file API.cxx.

◆ Instance_SetReduceMethod()

void cppjit::cpyrt::Instance_SetReduceMethod ( PyCFunction reduceMethod)

Definition at line 305 of file API.cxx.

◆ IsConstructor()

bool cppjit::cpyrt::IsConstructor ( uint64_t flags)
inline

Definition at line 109 of file CallContext.h.

◆ IsCreator()

bool cppjit::cpyrt::IsCreator ( uint64_t flags)
inline

Definition at line 105 of file CallContext.h.

◆ IsSorted()

bool cppjit::cpyrt::IsSorted ( uint64_t flags)
inline

Definition at line 103 of file CallContext.h.

◆ LowLevelView_Check()

template<typename T >
bool cppjit::cpyrt::LowLevelView_Check ( T * object)
inline

Definition at line 92 of file LowLevelViews.h.

◆ LowLevelView_CheckExact()

template<typename T >
bool cppjit::cpyrt::LowLevelView_CheckExact ( T * object)
inline

Definition at line 96 of file LowLevelViews.h.

◆ meta_alloc()

static PyObject * cppjit::cpyrt::meta_alloc ( PyTypeObject * meta,
Py_ssize_t nitems )
static

Definition at line 72 of file CPPScope.cxx.

◆ meta_dealloc()

static void cppjit::cpyrt::meta_dealloc ( CPPScope * scope)
static

Definition at line 78 of file CPPScope.cxx.

◆ meta_dir()

static PyObject * cppjit::cpyrt::meta_dir ( CPPScope * klass)
static

Definition at line 626 of file CPPScope.cxx.

◆ meta_getattro()

static PyObject * cppjit::cpyrt::meta_getattro ( PyObject * pyclass,
PyObject * pyname )
static

Definition at line 328 of file CPPScope.cxx.

◆ meta_getcppname()

static PyObject * cppjit::cpyrt::meta_getcppname ( CPPScope * scope,
void *  )
static

Definition at line 96 of file CPPScope.cxx.

◆ meta_getmodule()

static PyObject * cppjit::cpyrt::meta_getmodule ( CPPScope * scope,
void *  )
static

Definition at line 104 of file CPPScope.cxx.

◆ meta_reflex()

static PyObject * cppjit::cpyrt::meta_reflex ( CPPScope * klass,
PyObject * args )
static

Definition at line 591 of file CPPScope.cxx.

◆ meta_repr()

static PyObject * cppjit::cpyrt::meta_repr ( CPPScope * scope)
static

Definition at line 166 of file CPPScope.cxx.

◆ meta_setattro()

static int cppjit::cpyrt::meta_setattro ( PyObject * pyclass,
PyObject * pyname,
PyObject * pyval )
static

Definition at line 568 of file CPPScope.cxx.

◆ meta_setmodule()

static int cppjit::cpyrt::meta_setmodule ( CPPScope * scope,
PyObject * value,
void *  )
static

Definition at line 145 of file CPPScope.cxx.

◆ NoImplicit()

bool cppjit::cpyrt::NoImplicit ( CallContext * ctxt)
inline

Definition at line 125 of file CallContext.h.

◆ op_add_stub()

static PyObject * cppjit::cpyrt::op_add_stub ( PyObject * left,
PyObject * right )
static

Definition at line 1083 of file CPPInstance.cxx.

◆ op_clear()

static int cppjit::cpyrt::op_clear ( CPPInstance * pyobj)
static

Definition at line 463 of file CPPInstance.cxx.

◆ op_dealloc()

static void cppjit::cpyrt::op_dealloc ( CPPInstance * pyobj)
static

Definition at line 455 of file CPPInstance.cxx.

◆ op_dealloc_nofree()

void cppjit::cpyrt::op_dealloc_nofree ( CPPInstance * pyobj)

Definition at line 216 of file CPPInstance.cxx.

◆ op_destruct()

static PyObject * cppjit::cpyrt::op_destruct ( CPPInstance * self)
static

Definition at line 274 of file CPPInstance.cxx.

◆ op_dispatch()

static PyObject * cppjit::cpyrt::op_dispatch ( PyObject * self,
PyObject * args,
PyObject *  )
static

Definition at line 284 of file CPPInstance.cxx.

◆ op_div_stub()

static PyObject * cppjit::cpyrt::op_div_stub ( PyObject * left,
PyObject * right )
static

Definition at line 1086 of file CPPInstance.cxx.

◆ op_get_smartptr()

static PyObject * cppjit::cpyrt::op_get_smartptr ( CPPInstance * self)
static

Definition at line 316 of file CPPInstance.cxx.

◆ op_getownership()

static PyObject * cppjit::cpyrt::op_getownership ( CPPInstance * pyobj,
void *  )
static

Definition at line 977 of file CPPInstance.cxx.

◆ op_hash()

static Py_hash_t cppjit::cpyrt::op_hash ( CPPInstance * self)
static

Definition at line 760 of file CPPInstance.cxx.

◆ op_invert_stub()

static PyObject * cppjit::cpyrt::op_invert_stub ( PyObject * pyobj)
static

Definition at line 1089 of file CPPInstance.cxx.

◆ op_item()

static PyObject * cppjit::cpyrt::op_item ( CPPInstance * self,
Py_ssize_t idx )
static

Definition at line 357 of file CPPInstance.cxx.

◆ op_mul_stub()

static PyObject * cppjit::cpyrt::op_mul_stub ( PyObject * left,
PyObject * right )
static

Definition at line 1085 of file CPPInstance.cxx.

◆ op_neg_stub()

static PyObject * cppjit::cpyrt::op_neg_stub ( PyObject * pyobj)
static

Definition at line 1087 of file CPPInstance.cxx.

◆ op_new()

static CPPInstance * cppjit::cpyrt::op_new ( PyTypeObject * subtype,
PyObject * ,
PyObject *  )
static

Definition at line 445 of file CPPInstance.cxx.

◆ op_nonzero()

static int cppjit::cpyrt::op_nonzero ( CPPInstance * self)
static

Definition at line 249 of file CPPInstance.cxx.

◆ op_pos_stub()

static PyObject * cppjit::cpyrt::op_pos_stub ( PyObject * pyobj)
static

Definition at line 1088 of file CPPInstance.cxx.

◆ op_reduce()

PyObject * cppjit::cpyrt::op_reduce ( PyObject * self,
PyObject * args )

Definition at line 421 of file CPPInstance.cxx.

◆ op_repr()

static PyObject * cppjit::cpyrt::op_repr ( CPPInstance * self)
static

Definition at line 718 of file CPPInstance.cxx.

◆ op_reshape()

static PyObject * cppjit::cpyrt::op_reshape ( CPPInstance * self,
PyObject * shape )
static

Definition at line 339 of file CPPInstance.cxx.

◆ op_richcompare()

static PyObject * cppjit::cpyrt::op_richcompare ( CPPInstance * self,
PyObject * other,
int op )
static

Definition at line 621 of file CPPInstance.cxx.

◆ op_setownership()

static int cppjit::cpyrt::op_setownership ( CPPInstance * pyobj,
PyObject * value,
void *  )
static

Definition at line 982 of file CPPInstance.cxx.

◆ op_str()

static PyObject * cppjit::cpyrt::op_str ( CPPInstance * self)
static

Definition at line 843 of file CPPInstance.cxx.

◆ op_str_internal()

static PyObject * cppjit::cpyrt::op_str_internal ( PyObject * pyobj,
PyObject * lshift,
bool isBound )
static

Definition at line 806 of file CPPInstance.cxx.

◆ op_sub_stub()

static PyObject * cppjit::cpyrt::op_sub_stub ( PyObject * left,
PyObject * right )
static

Definition at line 1084 of file CPPInstance.cxx.

◆ op_traverse()

static int cppjit::cpyrt::op_traverse ( CPPInstance * ,
visitproc ,
void *  )
static

Definition at line 243 of file CPPInstance.cxx.

◆ Overload_Check()

bool cppjit::cpyrt::Overload_Check ( PyObject * pyobject)

Definition at line 283 of file API.cxx.

◆ Overload_CheckExact()

bool cppjit::cpyrt::Overload_CheckExact ( PyObject * pyobject)

Definition at line 294 of file API.cxx.

◆ Prompt()

void cppjit::cpyrt::Prompt ( )

Definition at line 468 of file API.cxx.

◆ pt_new()

static PyObject * cppjit::cpyrt::pt_new ( PyTypeObject * subtype,
PyObject * args,
PyObject * kwds )
static

Definition at line 197 of file CPPScope.cxx.

◆ PyLongOrInt_AsULong()

unsigned long cppjit::cpyrt::PyLongOrInt_AsULong ( PyObject * pyobject)

Definition at line 125 of file Utility.cxx.

◆ PyLongOrInt_AsULong64()

PY_ULONG_LONG cppjit::cpyrt::PyLongOrInt_AsULong64 ( PyObject * pyobject)

Definition at line 152 of file Utility.cxx.

◆ pythonizations()

std::unordered_map< std::string, std::vector< PyObject * > > & cppjit::cpyrt::pythonizations ( )

Definition at line 243 of file cpyrtModule.cxx.

◆ Pythonize()

bool cppjit::cpyrt::Pythonize ( PyObject * pyclass,
interop::TCppScope_t scope )

Definition at line 1757 of file Pythonize.cxx.

◆ pyval_from_enum()

PyObject * cppjit::cpyrt::pyval_from_enum ( const std::string & enum_type,
PyObject * pytype,
PyObject * btype,
interop::TCppScope_t enum_constant )

Definition at line 23 of file CPPEnum.cxx.

◆ RegisterConverter() [1/2]

bool cppjit::cpyrt::RegisterConverter ( const std::string & name,
cf_t fac )

Definition at line 3971 of file Converters.cxx.

◆ RegisterConverter() [2/2]

CPYRT_EXTERN bool cppjit::cpyrt::RegisterConverter ( const std::string & name,
ConverterFactory_t  )

◆ RegisterConverterAlias()

CPYRT_EXPORT bool cppjit::cpyrt::RegisterConverterAlias ( const std::string & name,
const std::string & target )

Definition at line 3983 of file Converters.cxx.

◆ RegisterExecutor()

CPYRT_EXPORT bool cppjit::cpyrt::RegisterExecutor ( const std::string & name,
ExecutorFactory_t  )

Definition at line 1127 of file Executors.cxx.

◆ RegisterExecutorAlias()

CPYRT_EXPORT bool cppjit::cpyrt::RegisterExecutorAlias ( const std::string & name,
const std::string & target )

Definition at line 1139 of file Executors.cxx.

◆ ReleasesGIL()

bool cppjit::cpyrt::ReleasesGIL ( CallContext * ctxt)
inline

Definition at line 129 of file CallContext.h.

◆ Scope_Check()

bool cppjit::cpyrt::Scope_Check ( PyObject * pyobject)

Definition at line 168 of file API.cxx.

◆ Scope_CheckExact()

bool cppjit::cpyrt::Scope_CheckExact ( PyObject * pyobject)

Definition at line 178 of file API.cxx.

◆ ScopeFlagCheck()

static bool cppjit::cpyrt::ScopeFlagCheck ( CPPInstance * self,
CPPScope::EFlags flag )
inlinestatic

Definition at line 835 of file CPPInstance.cxx.

◆ ScopeFlagSet()

static void cppjit::cpyrt::ScopeFlagSet ( CPPInstance * self,
CPPScope::EFlags flag )
inlinestatic

Definition at line 839 of file CPPInstance.cxx.

◆ SelectAndForward()

static PyObject * cppjit::cpyrt::SelectAndForward ( TemplateProxy * pytmpl,
CPPOverload * pymeth,
cpyrt_PyArgs_t args,
size_t nargsf,
PyObject * kwds,
bool implicitOkay,
bool use_targs,
uint64_t sighash,
std::vector< Utility::PyError_t > & errors )
inlinestatic

Definition at line 524 of file TemplateProxy.cxx.

◆ Sequence_Check()

bool cppjit::cpyrt::Sequence_Check ( PyObject * pyobject)

Definition at line 234 of file API.cxx.

◆ sync_templates()

static void cppjit::cpyrt::sync_templates ( PyObject * pyclass,
const std::string & mtCppName,
const std::string & mtName )
inlinestatic

Definition at line 148 of file ProxyWrappers.cxx.

◆ targs2str()

static std::string cppjit::cpyrt::targs2str ( TemplateProxy * pytmpl)
inlinestatic

Definition at line 21 of file TemplateProxy.cxx.

◆ TemplateProxy_Check()

template<typename T >
bool cppjit::cpyrt::TemplateProxy_Check ( T * object)
inline

Definition at line 77 of file TemplateProxy.h.

◆ TemplateProxy_CheckExact()

template<typename T >
bool cppjit::cpyrt::TemplateProxy_CheckExact ( T * object)
inline

Definition at line 81 of file TemplateProxy.h.

◆ TemplateProxy_New()

TemplateProxy * cppjit::cpyrt::TemplateProxy_New ( const std::string & cppname,
const std::string & pyname,
PyObject * pyclass )
inline

Definition at line 86 of file TemplateProxy.h.

◆ tpp_clear()

static int cppjit::cpyrt::tpp_clear ( TemplateProxy * pytmpl)
static

Definition at line 420 of file TemplateProxy.cxx.

◆ tpp_dealloc()

static void cppjit::cpyrt::tpp_dealloc ( TemplateProxy * pytmpl)
static

Definition at line 429 of file TemplateProxy.cxx.

◆ tpp_descr_get()

static TemplateProxy * cppjit::cpyrt::tpp_descr_get ( TemplateProxy * pytmpl,
PyObject * pyobj,
PyObject *  )
static

Definition at line 773 of file TemplateProxy.cxx.

◆ tpp_doc()

static PyObject * cppjit::cpyrt::tpp_doc ( TemplateProxy * pytmpl,
void *  )
static

Definition at line 449 of file TemplateProxy.cxx.

◆ tpp_doc_set()

static int cppjit::cpyrt::tpp_doc_set ( TemplateProxy * pytmpl,
PyObject * val,
void *  )
static

Definition at line 487 of file TemplateProxy.cxx.

◆ tpp_gettemplateargs()

static PyObject * cppjit::cpyrt::tpp_gettemplateargs ( TemplateProxy * self,
void *  )
static

Definition at line 828 of file TemplateProxy.cxx.

◆ tpp_getuseffi()

static PyObject * cppjit::cpyrt::tpp_getuseffi ( CPPOverload * ,
void *  )
static

Definition at line 818 of file TemplateProxy.cxx.

◆ tpp_hash()

static Py_hash_t cppjit::cpyrt::tpp_hash ( TemplateProxy * self)
static

Definition at line 401 of file TemplateProxy.cxx.

◆ tpp_new()

static TemplateProxy * cppjit::cpyrt::tpp_new ( PyTypeObject * ,
PyObject * ,
PyObject *  )
static

Definition at line 387 of file TemplateProxy.cxx.

◆ tpp_overload()

static PyObject * cppjit::cpyrt::tpp_overload ( TemplateProxy * pytmpl,
PyObject * args )
static

Definition at line 877 of file TemplateProxy.cxx.

◆ tpp_richcompare()

static PyObject * cppjit::cpyrt::tpp_richcompare ( TemplateProxy * self,
PyObject * other,
int op )
static

Definition at line 404 of file TemplateProxy.cxx.

◆ tpp_settemplateargs()

static int cppjit::cpyrt::tpp_settemplateargs ( TemplateProxy * ,
PyObject * ,
void *  )
static

Definition at line 838 of file TemplateProxy.cxx.

◆ tpp_setuseffi()

static int cppjit::cpyrt::tpp_setuseffi ( CPPOverload * ,
PyObject * ,
void *  )
static

Definition at line 823 of file TemplateProxy.cxx.

◆ tpp_subscript()

static PyObject * cppjit::cpyrt::tpp_subscript ( TemplateProxy * pytmpl,
PyObject * args )
static

Definition at line 800 of file TemplateProxy.cxx.

◆ tpp_traverse()

static int cppjit::cpyrt::tpp_traverse ( TemplateProxy * pytmpl,
visitproc visit,
void * arg )
static

Definition at line 440 of file TemplateProxy.cxx.

◆ tpp_vectorcall()

static PyObject * cppjit::cpyrt::tpp_vectorcall ( TemplateProxy * pytmpl,
PyObject *const * args,
size_t nargsf,
PyObject * kwds )
static

Definition at line 583 of file TemplateProxy.cxx.

◆ tptc_call()

static PyObject * cppjit::cpyrt::tptc_call ( typedefpointertoclassobject * self,
PyObject * args,
PyObject *  )
static

Definition at line 26 of file CustomPyTypes.cxx.

◆ tptc_getcppname()

static PyObject * cppjit::cpyrt::tptc_getcppname ( typedefpointertoclassobject * self,
void *  )
static

Definition at line 36 of file CustomPyTypes.cxx.

◆ tptc_name()

static PyObject * cppjit::cpyrt::tptc_name ( typedefpointertoclassobject * self,
void *  )
static

Definition at line 42 of file CustomPyTypes.cxx.

◆ TupleOfInstances_Check()

template<typename T >
bool cppjit::cpyrt::TupleOfInstances_Check ( T * object)
inline

Definition at line 19 of file TupleOfInstances.h.

◆ TupleOfInstances_CheckExact()

template<typename T >
bool cppjit::cpyrt::TupleOfInstances_CheckExact ( T * object)
inline

Definition at line 23 of file TupleOfInstances.h.

◆ TupleOfInstances_New()

PyObject * cppjit::cpyrt::TupleOfInstances_New ( interop::TCppObject_t address,
interop::TCppScope_t klass,
cdims_t dims )

Definition at line 136 of file TupleOfInstances.cxx.

◆ TypedefPointerToClass_Check()

template<typename T >
bool cppjit::cpyrt::TypedefPointerToClass_Check ( T * object)
inline

Definition at line 20 of file CustomPyTypes.h.

◆ TypedefPointerToClass_CheckExact()

template<typename T >
bool cppjit::cpyrt::TypedefPointerToClass_CheckExact ( T * object)
inline

Definition at line 24 of file CustomPyTypes.h.

◆ UnregisterConverter()

CPYRT_EXPORT bool cppjit::cpyrt::UnregisterConverter ( const std::string & name)

Definition at line 4000 of file Converters.cxx.

◆ UnregisterExecutor()

CPYRT_EXPORT bool cppjit::cpyrt::UnregisterExecutor ( const std::string & name)

Definition at line 1156 of file Executors.cxx.

◆ UpdateDispatchMap()

static void cppjit::cpyrt::UpdateDispatchMap ( TemplateProxy * pytmpl,
bool use_targs,
uint64_t sighash,
CPPOverload * pymeth )
inlinestatic

Definition at line 504 of file TemplateProxy.cxx.

◆ UseStrictOwnership()

bool cppjit::cpyrt::UseStrictOwnership ( )
inline

Definition at line 133 of file CallContext.h.

◆ vectoriter_dealloc()

static void cppjit::cpyrt::vectoriter_dealloc ( vectoriterobject * vi)
static

Definition at line 362 of file CustomPyTypes.cxx.

◆ vectoriter_iternext()

static PyObject * cppjit::cpyrt::vectoriter_iternext ( vectoriterobject * vi)
static

Definition at line 368 of file CustomPyTypes.cxx.

Variable Documentation

◆ CPPDataMember_Type

PyTypeObject cppjit::cpyrt::CPPDataMember_Type

Definition at line 272 of file CPPDataMember.cxx.

◆ CPPExcInstance_Type

CPYRT_IMPORT PyTypeObject cppjit::cpyrt::CPPExcInstance_Type

Definition at line 200 of file CPPExcInstance.cxx.

◆ CPPInstance_Type

PyTypeObject cppjit::cpyrt::CPPInstance_Type

Definition at line 1133 of file CPPInstance.cxx.

◆ CPPOverload_Type

CPYRT_IMPORT PyTypeObject cppjit::cpyrt::CPPOverload_Type

Definition at line 906 of file CPPOverload.cxx.

◆ CPPScope_Type

PyTypeObject cppjit::cpyrt::CPPScope_Type

Definition at line 687 of file CPPScope.cxx.

◆ CustomInstanceMethod_Type

PyTypeObject cppjit::cpyrt::CustomInstanceMethod_Type

Definition at line 233 of file CustomPyTypes.cxx.

◆ dm_members

PyMemberDef cppjit::cpyrt::dm_members[]
static
Initial value:
= {
{(char*)"__doc__", T_OBJECT, offsetof(CPPDataMember, fDoc), 0,
(char*)"writable documentation"},
{NULL, 0, 0, 0, nullptr}
}

Definition at line 236 of file CPPDataMember.cxx.

◆ dm_methods

PyMethodDef cppjit::cpyrt::dm_methods[]
static
Initial value:
= {
{(char*)"__cpp_reflex__", (PyCFunction)dm_reflex, METH_VARARGS,
(char*)"C++ datamember reflection information"},
{(char*)nullptr, nullptr, 0, nullptr}}
static PyObject * dm_reflex(CPPDataMember *dm, PyObject *args)

Definition at line 266 of file CPPDataMember.cxx.

◆ ep_as_number

PyNumberMethods cppjit::cpyrt::ep_as_number
static

Definition at line 160 of file CPPExcInstance.cxx.

◆ free_list

PyMethodObject* cppjit::cpyrt::free_list
static

Definition at line 112 of file CustomPyTypes.cxx.

◆ gAbrtException

PyObject * cppjit::cpyrt::gAbrtException = nullptr

Definition at line 238 of file cpyrtModule.cxx.

◆ gBusException

PyObject * cppjit::cpyrt::gBusException = nullptr

Definition at line 235 of file cpyrtModule.cxx.

◆ gCapturedError

std::ostringstream cppjit::cpyrt::gCapturedError

Definition at line 240 of file cpyrtModule.cxx.

◆ gConvFactories

ConvFactories_t cppjit::cpyrt::gConvFactories
static

Definition at line 45 of file Converters.cxx.

◆ gDefaultObject

PyObject * cppjit::cpyrt::gDefaultObject = nullptr

Definition at line 234 of file cpyrtModule.cxx.

◆ gExecFactories

ExecFactories_t cppjit::cpyrt::gExecFactories
static

Definition at line 26 of file Executors.cxx.

◆ gIllException

PyObject * cppjit::cpyrt::gIllException = nullptr

Definition at line 237 of file cpyrtModule.cxx.

◆ gIteratorTypes

std::set< std::string > cppjit::cpyrt::gIteratorTypes

Definition at line 1732 of file Pythonize.cxx.

◆ gNullPtrObject

PyObject * cppjit::cpyrt::gNullPtrObject = nullptr

Definition at line 18 of file CPPConstructor.cxx.

◆ gOldErrorBuffer

std::streambuf* cppjit::cpyrt::gOldErrorBuffer = nullptr

Definition at line 241 of file cpyrtModule.cxx.

◆ gPinnedTypes

std::unordered_set< interop::TCppScope_t > cppjit::cpyrt::gPinnedTypes

Definition at line 239 of file cpyrtModule.cxx.

◆ gPyTypeMap

PyObject * cppjit::cpyrt::gPyTypeMap = nullptr

Definition at line 232 of file cpyrtModule.cxx.

◆ gSegvException

PyObject * cppjit::cpyrt::gSegvException = nullptr

Definition at line 236 of file cpyrtModule.cxx.

◆ gThisModule

PyObject * cppjit::cpyrt::gThisModule = nullptr

Definition at line 30 of file CPPMethod.cxx.

◆ IndexIter_Type

PyTypeObject cppjit::cpyrt::IndexIter_Type

Definition at line 311 of file CustomPyTypes.cxx.

◆ InstanceArrayIter_Type

PyTypeObject cppjit::cpyrt::InstanceArrayIter_Type

Definition at line 83 of file TupleOfInstances.cxx.

◆ LowLevelView_Type

PyTypeObject cppjit::cpyrt::LowLevelView_Type

Definition at line 924 of file LowLevelViews.cxx.

◆ meta_getset

PyGetSetDef cppjit::cpyrt::meta_getset[]
static
Initial value:
= {
{(char*)"__cpp_name__", (getter)meta_getcppname, nullptr, nullptr, nullptr},
{(char*)"__module__", (getter)meta_getmodule, (setter)meta_setmodule,
nullptr, nullptr},
{(char*)nullptr, nullptr, nullptr, nullptr, nullptr}}
static PyObject * meta_getmodule(CPPScope *scope, void *)
Definition CPPScope.cxx:104
static PyObject * meta_getcppname(CPPScope *scope, void *)
Definition CPPScope.cxx:96

Definition at line 680 of file CPPScope.cxx.

◆ meta_methods

PyMethodDef cppjit::cpyrt::meta_methods[]
static
Initial value:
= {
{(char*)"__cpp_reflex__", (PyCFunction)meta_reflex, METH_VARARGS,
(char*)"C++ datamember reflection information"},
{(char*)"__dir__", (PyCFunction)meta_dir, METH_NOARGS, nullptr},
{(char*)nullptr, nullptr, 0, nullptr}}
static PyObject * meta_reflex(CPPScope *klass, PyObject *args)
Definition CPPScope.cxx:591
static PyObject * meta_dir(CPPScope *klass)
Definition CPPScope.cxx:626

Definition at line 673 of file CPPScope.cxx.

◆ numfree

int cppjit::cpyrt::numfree = 0
static

Definition at line 113 of file CustomPyTypes.cxx.

◆ op_as_number

PyNumberMethods cppjit::cpyrt::op_as_number
static

Definition at line 1093 of file CPPInstance.cxx.

◆ op_as_sequence

PySequenceMethods cppjit::cpyrt::op_as_sequence
static
Initial value:
= {
0,
0,
0,
(ssizeargfunc)op_item,
0,
0,
0,
0,
0,
0,
}

Definition at line 403 of file CPPInstance.cxx.

◆ op_getset

PyGetSetDef cppjit::cpyrt::op_getset[]
static
Initial value:
= {
{(char*)"__python_owns__", (getter)op_getownership, (setter)op_setownership,
(char*)"If true, python manages the life time of this object", nullptr},
{(char*)nullptr, nullptr, nullptr, nullptr, nullptr}}
static PyObject * op_getownership(CPPInstance *pyobj, void *)

Definition at line 997 of file CPPInstance.cxx.

◆ op_methods

PyMethodDef cppjit::cpyrt::op_methods[]
static
Initial value:
= {
{(char*)"__destruct__", (PyCFunction)op_destruct, METH_NOARGS,
(char*)"call the C++ destructor"},
{(char*)"__dispatch__", (PyCFunction)op_dispatch, METH_VARARGS,
(char*)"dispatch to selected overload"},
{(char*)"__smartptr__", (PyCFunction)op_get_smartptr, METH_NOARGS,
(char*)"get associated smart pointer, if any"},
{(char*)"__reduce__", (PyCFunction)op_reduce, METH_NOARGS,
(char*)"reduce method for serialization"},
{(char*)"__reshape__", (PyCFunction)op_reshape, METH_O,
(char*)"cast pointer to 1D array type"},
{(char*)nullptr, nullptr, 0, nullptr}}
PyObject * op_reduce(PyObject *self, PyObject *)
PyROOT object proxy pickle support Turn the object proxy instance into a character stream and return ...
static PyObject * op_reshape(CPPInstance *self, PyObject *shape)
static PyObject * op_destruct(CPPInstance *self)
static PyObject * op_dispatch(PyObject *self, PyObject *args, PyObject *)

Definition at line 431 of file CPPInstance.cxx.

◆ SMALL_ARGS_N

const int cppjit::cpyrt::SMALL_ARGS_N = 8

Definition at line 14 of file callcontext.h.

◆ TemplateProxy_Type

PyTypeObject cppjit::cpyrt::TemplateProxy_Type

Definition at line 992 of file TemplateProxy.cxx.

◆ tpp_as_mapping

PyMappingMethods cppjit::cpyrt::tpp_as_mapping
static
Initial value:
= {nullptr, (binaryfunc)tpp_subscript,
nullptr}

Definition at line 844 of file TemplateProxy.cxx.

◆ tpp_getset

PyGetSetDef cppjit::cpyrt::tpp_getset[]
static
Initial value:
= {
{(char*)"__doc__", (getter)tpp_doc, (setter)tpp_doc_set, nullptr, nullptr},
{(char*)"__useffi__", (getter)tpp_getuseffi, (setter)tpp_setuseffi,
(char*)"unused", nullptr},
{(char*)"__template_args__", (getter)tpp_gettemplateargs,
(setter)tpp_settemplateargs,
(char*)"the template arguments for this method", nullptr},
{(char*)nullptr, nullptr, nullptr, nullptr, nullptr},
}
static PyObject * tpp_getuseffi(CPPOverload *, void *)
static PyObject * tpp_doc(TemplateProxy *pytmpl, void *)

Definition at line 847 of file TemplateProxy.cxx.

◆ tpp_methods

PyMethodDef cppjit::cpyrt::tpp_methods[]
static
Initial value:
= {{(char*)"__overload__",
(PyCFunction)tpp_overload, METH_VARARGS,
(char*)"select overload for dispatch"},
{(char*)nullptr, nullptr, 0, nullptr}}
static PyObject * tpp_overload(TemplateProxy *pytmpl, PyObject *args)

Definition at line 986 of file TemplateProxy.cxx.

◆ tptc_getset

PyGetSetDef cppjit::cpyrt::tptc_getset[]
static
Initial value:
= {
{(char*)"__name__", (getter)tptc_name, nullptr, nullptr, nullptr},
{(char*)"__cpp_name__", (getter)tptc_getcppname, nullptr, nullptr, nullptr},
{(char*)nullptr, nullptr, nullptr, nullptr, nullptr}}
static PyObject * tptc_name(typedefpointertoclassobject *self, void *)
static PyObject * tptc_getcppname(typedefpointertoclassobject *self, void *)

Definition at line 54 of file CustomPyTypes.cxx.

◆ TupleOfInstances_Type

PyTypeObject cppjit::cpyrt::TupleOfInstances_Type

Representation of C-style array of instances.

Author
WLAV
Date
02/10/2014
Version
1.0

Definition at line 213 of file TupleOfInstances.cxx.

◆ TypedefPointerToClass_Type

PyTypeObject cppjit::cpyrt::TypedefPointerToClass_Type

Definition at line 59 of file CustomPyTypes.cxx.

◆ UNKNOWN_SIZE

const dim_t cppjit::cpyrt::UNKNOWN_SIZE = (dim_t)-1
static

Definition at line 16 of file Dimensions.h.

◆ VectorIter_Type

PyTypeObject cppjit::cpyrt::VectorIter_Type

Definition at line 404 of file CustomPyTypes.cxx.