Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
CPyCppyy Namespace Reference

Set of helper functions that are invoked from the pythonizors, on the Python side. More...

Namespaces

namespace  PyStrings
 
namespace  TypeManip
 
namespace  Utility
 

Classes

struct  CallContext
 
class  Converter
 
class  CPPAbstractClassConstructor
 
class  CPPClassMethod
 
class  CPPConstructor
 
class  CPPDataMember
 
class  CPPExcInstance
 
class  CPPFunction
 
class  CPPGetItem
 
class  CPPIncompleteClassConstructor
 
class  CPPInstance
 
class  CPPMethod
 
class  CPPNamespaceConstructor
 
class  CPPOverload
 
class  CPPReverseBinary
 
class  CPPScope
 
class  CPPSetItem
 
class  CPPSmartClass
 
class  DispatchPtr
 
class  Executor
 
struct  indexiterobject
 
class  InstancePtrConverter
 
class  LowLevelView
 
class  MemoryRegulator
 
struct  Parameter
 
class  PyCallable
 
class  PyException
 
class  PyResult
 
class  RefExecutor
 
class  StrictInstancePtrConverter
 
class  TemplateInfo
 
class  TemplateProxy
 
struct  typedefpointertoclassobject
 
struct  vectoriterobject
 
class  VoidArrayConverter
 

Typedefs

typedef Converter *(* cf_t) (dims_t d)
 
typedef std::vector< std::pair< ptrdiff_t, PyObject * > > CI_DatamemberCache_t
 
typedef Converter *(* ConverterFactory_t) (Py_ssize_t *dims)
 
typedef std::map< std::string, cf_tConvFactories_t
 
typedef CPPScope CPPClass
 
typedef std::map< Cppyy::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 Executor *(* ef_t) ()
 
typedef std::map< std::string, ef_tExecFactories_t
 
typedef Executor *(* ExecutorFactory_t) ()
 
typedef std::function< std::pair< bool, bool >(Cppyy::TCppObject_t, Cppyy::TCppType_t)> MemHook_t
 
typedef std::pair< uint64_t, CPPOverload * > TP_DispatchEntry_t
 Template proxy object to return functions and methods.
 
typedef std::map< std::string, std::vector< TP_DispatchEntry_t > > TP_DispatchMap_t
 
typedef std::shared_ptr< TemplateInfoTP_TInfo_t
 

Enumerations

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

Functions

static PyObjectadd_template (PyObject *pyclass, const std::string &name, std::vector< PyCallable * > *overloads=nullptr)
 
static void AddPropertyToClass (PyObject *pyclass, Cppyy::TCppScope_t scope, Cppyy::TCppIndex_t idata)
 
static void AddScopeToParent (PyObject *parent, const std::string &name, PyObject *newscope)
 
bool AllowImplicit (CallContext *ctxt)
 
PyObjectBindCppObject (Cppyy::TCppObject_t object, Cppyy::TCppType_t klass, const unsigned flags=0)
 
PyObjectBindCppObjectArray (Cppyy::TCppObject_t address, Cppyy::TCppType_t klass, Py_ssize_t *dims)
 
PyObjectBindCppObjectNoCast (Cppyy::TCppObject_t object, Cppyy::TCppType_t klass, const unsigned flags=0)
 
static PyObjectBuildCppClassBases (Cppyy::TCppType_t klass)
 
static int BuildScopeProxyDict (Cppyy::TCppScope_t scope, PyObject *pyclass)
 
static PyObjectCallMethodImp (TemplateProxy *pytmpl, PyObject *&pymeth, PyObject *args, PyObject *kwds, bool impOK, uint64_t sighash)
 
CPYCPPYY_EXTERN voidCallVoidP (Cppyy::TCppMethod_t, Cppyy::TCppObject_t, CallContext *)
 
static void CollectUniqueBases (Cppyy::TCppType_t klass, std::deque< std::string > &uqb)
 
template<typename T >
bool CPPDataMember_Check (T *object)
 
template<typename T >
bool CPPDataMember_CheckExact (T *object)
 
CPPDataMemberCPPDataMember_New (Cppyy::TCppScope_t scope, Cppyy::TCppIndex_t idata)
 
CPPDataMemberCPPDataMember_NewConstant (Cppyy::TCppScope_t scope, const std::string &name, void *address)
 
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)
 
CPPOverloadCPPOverload_New (const std::string &name, PyCallable *method)
 
CPPOverloadCPPOverload_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)
 
CPPScopeCPPScopeMeta_New (Cppyy::TCppScope_t klass, PyObject *args)
 
 CPPYY_DECL_VIEW_CREATOR (bool)
 
 CPPYY_DECL_VIEW_CREATOR (double)
 
 CPPYY_DECL_VIEW_CREATOR (float)
 
 CPPYY_DECL_VIEW_CREATOR (int)
 
 CPPYY_DECL_VIEW_CREATOR (long double)
 
 CPPYY_DECL_VIEW_CREATOR (long long)
 
 CPPYY_DECL_VIEW_CREATOR (long)
 
 CPPYY_DECL_VIEW_CREATOR (short)
 
 CPPYY_DECL_VIEW_CREATOR (signed char)
 
 CPPYY_DECL_VIEW_CREATOR (std::complex< double >)
 
 CPPYY_DECL_VIEW_CREATOR (std::complex< float >)
 
 CPPYY_DECL_VIEW_CREATOR (std::complex< int >)
 
 CPPYY_DECL_VIEW_CREATOR (std::complex< long >)
 
 CPPYY_DECL_VIEW_CREATOR (unsigned char)
 
 CPPYY_DECL_VIEW_CREATOR (unsigned int)
 
 CPPYY_DECL_VIEW_CREATOR (unsigned long long)
 
 CPPYY_DECL_VIEW_CREATOR (unsigned long)
 
 CPPYY_DECL_VIEW_CREATOR (unsigned short)
 
static Py_hash_t CPyCppyy_PyLong_AsHash_t (PyObject *obj)
 
CPYCPPYY_EXPORT ConverterCreateConverter (const std::string &fullType, dims_t dims=nullptr)
 
CPYCPPYY_EXTERN ConverterCreateConverter (const std::string &name, Py_ssize_t *dims=nullptr)
 
PyObjectCreateExcScopeProxy (PyObject *pyscope, PyObject *pyname, PyObject *parent)
 
CPYCPPYY_EXTERN ExecutorCreateExecutor (const std::string &name)
 
PyObjectCreateLowLevelView (const char **, Py_ssize_t *shape=nullptr)
 
static PyObjectCreateNewCppProxyClass (Cppyy::TCppScope_t klass, PyObject *pybases)
 
PyObjectCreatePointerView (void *ptr, size_t size=(size_t) -1)
 
bool CreatePyStrings ()
 
PyObjectCreateScopeProxy (const std::string &scope_name, PyObject *parent=nullptr)
 
PyObjectCreateScopeProxy (Cppyy::TCppScope_t)
 
PyObjectCreateScopeProxy (PyObject *, PyObject *args)
 
template<typename T >
bool CustomInstanceMethod_Check (T *object)
 
template<typename T >
bool CustomInstanceMethod_CheckExact (T *object)
 
PyObjectCustomInstanceMethod_New (PyObject *func, PyObject *self, PyObject *pyclass)
 
CPYCPPYY_EXTERN void DestroyConverter (Converter *p)
 
CPYCPPYY_EXPORT void DestroyExecutor (Executor *p)
 
PyObjectDestroyPyStrings ()
 
static int enum_setattro (PyObject *, PyObject *, PyObject *)
 
static int ep_clear (CPPExcInstance *pyobj)
 
static void ep_dealloc (CPPExcInstance *pyobj)
 
static PyObjectep_getattro (CPPExcInstance *self, PyObject *attr)
 
static PyObjectep_new (PyTypeObject *subtype, PyObject *args, PyObject *kwds)
 
static int ep_nonzero (CPPExcInstance *self)
 
static PyObjectep_repr (CPPExcInstance *self)
 
static PyObjectep_richcompare (CPPExcInstance *self, PyObject *other, int op)
 
static int ep_setattro (CPPExcInstance *self, PyObject *attr, PyObject *value)
 
static PyObjectep_str (CPPExcInstance *self)
 
static int ep_traverse (CPPExcInstance *pyobj, visitproc visit, void *args)
 
static PyObjecteqneq_binop (CPPClass *klass, PyObject *self, PyObject *obj, int op)
 
CPYCPPYY_EXTERN const PyResult Eval (const std::string &expr)
 
CPYCPPYY_EXTERN bool Exec (const std::string &cmd)
 
CPYCPPYY_EXTERN void ExecScript (const std::string &name, const std::vector< std::string > &args)
 
PyObjectGetScopeProxy (Cppyy::TCppScope_t)
 
uint64_t HashSignature (PyObject *args)
 
bool HaveImplicit (CallContext *ctxt)
 
static PyObjectim_call (PyObject *meth, PyObject *args, PyObject *kw)
 
static void im_dealloc (PyMethodObject *im)
 
static PyObjectim_descr_get (PyObject *meth, PyObject *obj, PyObject *pyclass)
 
CPYCPPYY_EXTERN bool Import (const std::string &name)
 
static void indexiter_dealloc (indexiterobject *ii)
 
static PyObjectindexiter_iternext (indexiterobject *ii)
 
static int indexiter_traverse (indexiterobject *ii, visitproc visit, void *arg)
 
bool InsertDispatcher (CPPScope *klass, PyObject *bases, PyObject *dct, std::ostringstream &err)
 
CPYCPPYY_EXTERN voidInstance_AsVoidPtr (PyObject *pyobject)
 
CPYCPPYY_EXTERN bool Instance_Check (PyObject *pyobject)
 
CPYCPPYY_EXTERN bool Instance_CheckExact (PyObject *pyobject)
 
CPYCPPYY_EXTERN PyObjectInstance_FromVoidPtr (void *addr, const std::string &classname, bool python_owns=false)
 
CPYCPPYY_EXTERN bool Instance_IsLively (PyObject *pyobject)
 
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 PyObjectmeta_alloc (PyTypeObject *meta, Py_ssize_t nitems)
 
static void meta_dealloc (CPPScope *scope)
 
static PyObjectmeta_dir (CPPScope *klass)
 
static PyObjectmeta_getattro (PyObject *pyclass, PyObject *pyname)
 
static PyObjectmeta_getcppname (CPPScope *scope, void *)
 
static PyObjectmeta_getmodule (CPPScope *scope, void *)
 
static PyObjectmeta_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 int op_clear (CPPInstance *pyobj)
 
static void op_dealloc (CPPInstance *pyobj)
 
void op_dealloc_nofree (CPPInstance *)
 
static PyObjectop_destruct (CPPInstance *self)
 
static PyObjectop_dispatch (PyObject *self, PyObject *args, PyObject *)
 
static PyObjectop_get_smartptr (CPPInstance *self)
 
static PyObjectop_getownership (CPPInstance *pyobj, void *)
 
static Py_hash_t op_hash (CPPInstance *self)
 
static CPPInstanceop_new (PyTypeObject *subtype, PyObject *, PyObject *)
 
static int op_nonzero (CPPInstance *self)
 
static PyObjectop_repr (CPPInstance *self)
 
static PyObjectop_richcompare (CPPInstance *self, PyObject *other, int op)
 
static int op_setownership (CPPInstance *pyobj, PyObject *value, void *)
 
static PyObjectop_str (CPPInstance *self)
 
static PyObjectop_str_internal (PyObject *pyobj, PyObject *lshift, bool isBound)
 
CPYCPPYY_EXTERN bool Overload_Check (PyObject *pyobject)
 
CPYCPPYY_EXTERN bool Overload_CheckExact (PyObject *pyobject)
 
static void pp_dealloc (CPPDataMember *pyprop)
 
static PyObjectpp_get (CPPDataMember *pyprop, CPPInstance *pyobj, PyObject *)
 
static CPPDataMemberpp_new (PyTypeObject *pytype, PyObject *, PyObject *)
 
static int pp_set (CPPDataMember *pyprop, CPPInstance *pyobj, PyObject *value)
 
CPYCPPYY_EXTERN void Prompt ()
 
static PyObjectpt_new (PyTypeObject *subtype, PyObject *args, PyObject *kwds)
 
unsigned long PyLongOrInt_AsULong (PyObject *pyobject)
 
ULong64_t PyLongOrInt_AsULong64 (PyObject *pyobject)
 
bool Pythonize (PyObject *pyclass, const std::string &name)
 
template<typename T >
bool RefFloat_Check (T *object)
 
template<typename T >
bool RefFloat_CheckExact (T *object)
 
template<typename T >
bool RefInt_Check (T *object)
 
template<typename T >
bool RefInt_CheckExact (T *object)
 
CPYCPPYY_EXPORT bool RegisterConverter (const std::string &name, cf_t fac)
 
CPYCPPYY_EXTERN bool RegisterConverter (const std::string &name, ConverterFactory_t)
 
CPYCPPYY_EXTERN bool RegisterExecutor (const std::string &name, ExecutorFactory_t)
 
bool ReleasesGIL (CallContext *ctxt)
 
CPYCPPYY_EXTERN bool Scope_Check (PyObject *pyobject)
 
CPYCPPYY_EXTERN bool Scope_CheckExact (PyObject *pyobject)
 
static void sync_templates (PyObject *pyclass, const std::string &mtCppName, const std::string &mtName)
 
static std::string targs2str (TemplateProxy *pytmpl)
 
static PyObjectTC2CppName (PyObject *pytc, const char *cpd, bool allow_voidp)
 
template<typename T >
bool TemplateProxy_Check (T *object)
 
template<typename T >
bool TemplateProxy_CheckExact (T *object)
 
TemplateProxyTemplateProxy_New (const std::string &cppname, const std::string &pyname, PyObject *pyclass)
 
static PyObjecttpc_call (typedefpointertoclassobject *self, PyObject *args, PyObject *)
 
static PyObjecttpp_call (TemplateProxy *pytmpl, PyObject *args, PyObject *kwds)
 
static int tpp_clear (TemplateProxy *pytmpl)
 
static void tpp_dealloc (TemplateProxy *pytmpl)
 
static TemplateProxytpp_descrget (TemplateProxy *pytmpl, PyObject *pyobj, PyObject *)
 
static PyObjecttpp_doc (TemplateProxy *pytmpl, void *)
 
static PyObjecttpp_getuseffi (CPPOverload *, void *)
 
static TemplateProxytpp_new (PyTypeObject *, PyObject *, PyObject *)
 
static PyObjecttpp_repr (TemplateProxy *pytmpl)
 
static int tpp_setuseffi (CPPOverload *, PyObject *, void *)
 
static PyObjecttpp_subscript (TemplateProxy *pytmpl, PyObject *args)
 
static int tpp_traverse (TemplateProxy *pytmpl, visitproc visit, void *arg)
 
template<typename T >
bool TupleOfInstances_Check (T *object)
 
template<typename T >
bool TupleOfInstances_CheckExact (T *object)
 
PyObjectTupleOfInstances_New (Cppyy::TCppObject_t address, Cppyy::TCppType_t klass, dim_t ndims, dims_t dims)
 
template<typename T >
bool TypedefPointerToClass_Check (T *object)
 
template<typename T >
bool TypedefPointerToClass_CheckExact (T *object)
 
CPYCPPYY_EXTERN bool UnregisterConverter (const std::string &name)
 
CPYCPPYY_EXTERN bool UnregisterExecutor (const std::string &name)
 
static void UpdateDispatchMap (TemplateProxy *pytmpl, bool use_targs, uint64_t sighash, CPPOverload *pymeth)
 
bool UseStrictOwnership (CallContext *ctxt)
 
static void vectoriter_dealloc (vectoriterobject *vi)
 
static PyObjectvectoriter_iternext (vectoriterobject *vi)
 

Variables

PyTypeObject CPPDataMember_Type
 
PyTypeObject CPPExcInstance_Type
 
PyTypeObject CPPInstance_Type
 
PyTypeObject CPPOverload_Type
 
PyTypeObject CPPScope_Type
 
PyTypeObject CustomInstanceMethod_Type
 
static PyNumberMethods ep_as_number
 
static PyMethodObject * free_list
 
PyObjectgAbrtException = nullptr
 
PyObjectgBusException = nullptr
 
static ConvFactories_t gConvFactories
 
R__EXTERN bool gDictLookupActive = false
 
dict_lookup_func gDictLookupOrg = 0
 
static ExecFactories_t gExecFactories
 
PyObjectgIllException = nullptr
 
std::set< std::string > gIteratorTypes
 
PyObjectgNullPtrObject = nullptr
 
std::set< Cppyy::TCppType_tgPinnedTypes
 
std::map< std::string, std::vector< PyObject * > > gPythonizations
 
PyObjectgPyTypeMap = nullptr
 
PyObjectgSegvException = nullptr
 
R__EXTERN PyObjectgThisModule = 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 PyGetSetDef op_getset []
 
static PyMethodDef op_methods []
 
PyTypeObject RefFloat_Type
 Custom "builtins," detectable by type, for pass by ref and improved performance.
 
PyTypeObject RefInt_Type
 
const int SMALL_ARGS_N = 8
 
PyTypeObject TemplateProxy_Type
 
static PyMappingMethods tpp_as_mapping
 
static PyGetSetDef tpp_getset []
 
PyTypeObject TupleOfInstances_Type
 Representation of C-style array of instances.
 
PyTypeObject TypedefPointerToClass_Type
 
PyTypeObject VectorIter_Type
 

Detailed Description

Set of helper functions that are invoked from the pythonizors, on the Python side.

For that purpose, they are included in the interface of the PyROOT extension module.

Typedef Documentation

◆ cf_t

typedef Converter *(* CPyCppyy::cf_t) (dims_t d)

Definition at line 27 of file Converters.h.

◆ CI_DatamemberCache_t

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

Definition at line 24 of file CPPInstance.h.

◆ ConverterFactory_t

typedef Converter *(* CPyCppyy::ConverterFactory_t) (Py_ssize_t *dims)

Definition at line 115 of file API.h.

◆ ConvFactories_t

typedef std::map<std::string, cf_t> CPyCppyy::ConvFactories_t

Definition at line 38 of file Converters.cxx.

◆ CPPClass

Definition at line 63 of file CPPScope.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 34 of file CPPScope.h.

◆ ef_t

typedef Executor *(* CPyCppyy::ef_t)()

Definition at line 22 of file Executors.cxx.

◆ ExecFactories_t

typedef std::map<std::string, ef_t> CPyCppyy::ExecFactories_t

Definition at line 23 of file Executors.cxx.

◆ ExecutorFactory_t

typedef Executor *(* CPyCppyy::ExecutorFactory_t) ()

Definition at line 142 of file API.h.

◆ MemHook_t

typedef std::function<std::pair<bool, bool>(Cppyy::TCppObject_t, Cppyy::TCppType_t)> CPyCppyy::MemHook_t

Definition at line 11 of file MemoryRegulator.h.

◆ TP_DispatchEntry_t

typedef std::pair<uint64_t, CPPOverload*> CPyCppyy::TP_DispatchEntry_t

Template proxy object to return functions and methods.

Definition at line 24 of file TemplateProxy.h.

◆ TP_DispatchMap_t

typedef std::map<std::string, std::vector<TP_DispatchEntry_t> > CPyCppyy::TP_DispatchMap_t

Definition at line 25 of file TemplateProxy.h.

◆ TP_TInfo_t

typedef std::shared_ptr<TemplateInfo> CPyCppyy::TP_TInfo_t

Definition at line 48 of file TemplateProxy.h.

Enumeration Type Documentation

◆ ETypeDetails

Enumerator
kNone 
kIsStaticData 
kIsConstData 
kIsArrayType 
kIsCachable 

Definition at line 18 of file CPPDataMember.cxx.

Function Documentation

◆ add_template()

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

Definition at line 28 of file CPPScope.cxx.

◆ AddPropertyToClass()

static void CPyCppyy::AddPropertyToClass ( PyObject pyclass,
Cppyy::TCppScope_t  scope,
Cppyy::TCppIndex_t  idata 
)
inlinestatic

Definition at line 93 of file ProxyWrappers.cxx.

◆ AddScopeToParent()

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

Definition at line 112 of file ProxyWrappers.cxx.

◆ AllowImplicit()

bool CPyCppyy::AllowImplicit ( CallContext ctxt)
inline

Definition at line 125 of file CallContext.h.

◆ BindCppObject()

PyObject * CPyCppyy::BindCppObject ( Cppyy::TCppObject_t  object,
Cppyy::TCppType_t  klass,
const unsigned  flags = 0 
)

Definition at line 876 of file ProxyWrappers.cxx.

◆ BindCppObjectArray()

PyObject * CPyCppyy::BindCppObjectArray ( Cppyy::TCppObject_t  address,
Cppyy::TCppType_t  klass,
Py_ssize_t dims 
)

◆ BindCppObjectNoCast()

PyObject * CPyCppyy::BindCppObjectNoCast ( Cppyy::TCppObject_t  object,
Cppyy::TCppType_t  klass,
const unsigned  flags = 0 
)

Definition at line 802 of file ProxyWrappers.cxx.

◆ BuildCppClassBases()

static PyObject * CPyCppyy::BuildCppClassBases ( Cppyy::TCppType_t  klass)
static

Definition at line 424 of file ProxyWrappers.cxx.

◆ BuildScopeProxyDict()

static int CPyCppyy::BuildScopeProxyDict ( Cppyy::TCppScope_t  scope,
PyObject pyclass 
)
static

Definition at line 144 of file ProxyWrappers.cxx.

◆ CallMethodImp()

static PyObject * CPyCppyy::CallMethodImp ( TemplateProxy pytmpl,
PyObject *&  pymeth,
PyObject args,
PyObject kwds,
bool  impOK,
uint64_t  sighash 
)
inlinestatic

Definition at line 427 of file TemplateProxy.cxx.

◆ CallVoidP()

CPYCPPYY_EXPORT void * CPyCppyy::CallVoidP ( Cppyy::TCppMethod_t  ,
Cppyy::TCppObject_t  ,
CallContext  
)

Definition at line 871 of file Executors.cxx.

◆ CollectUniqueBases()

static void CPyCppyy::CollectUniqueBases ( Cppyy::TCppType_t  klass,
std::deque< std::string > &  uqb 
)
static

Definition at line 387 of file ProxyWrappers.cxx.

◆ CPPDataMember_Check()

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

Definition at line 40 of file CPPDataMember.h.

◆ CPPDataMember_CheckExact()

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

Definition at line 46 of file CPPDataMember.h.

◆ CPPDataMember_New()

CPPDataMember * CPyCppyy::CPPDataMember_New ( Cppyy::TCppScope_t  scope,
Cppyy::TCppIndex_t  idata 
)
inline

Definition at line 52 of file CPPDataMember.h.

◆ CPPDataMember_NewConstant()

CPPDataMember * CPyCppyy::CPPDataMember_NewConstant ( Cppyy::TCppScope_t  scope,
const std::string &  name,
void address 
)
inline

Definition at line 62 of file CPPDataMember.h.

◆ CPPExcInstance_Check()

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

Definition at line 26 of file CPPExcInstance.h.

◆ CPPExcInstance_CheckExact()

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

Definition at line 32 of file CPPExcInstance.h.

◆ CPPInstance_Check()

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

Definition at line 118 of file CPPInstance.h.

◆ CPPInstance_CheckExact()

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

Definition at line 128 of file CPPInstance.h.

◆ CPPOverload_Check()

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

Definition at line 79 of file CPPOverload.h.

◆ CPPOverload_CheckExact()

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

Definition at line 85 of file CPPOverload.h.

◆ CPPOverload_New() [1/2]

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

Definition at line 100 of file CPPOverload.h.

◆ CPPOverload_New() [2/2]

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

Definition at line 91 of file CPPOverload.h.

◆ CPPScope_Check()

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

Definition at line 76 of file CPPScope.h.

◆ CPPScope_CheckExact()

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

Definition at line 82 of file CPPScope.h.

◆ CPPScopeMeta_New()

CPPScope * CPyCppyy::CPPScopeMeta_New ( Cppyy::TCppScope_t  klass,
PyObject args 
)
inline

Definition at line 88 of file CPPScope.h.

◆ CPPYY_DECL_VIEW_CREATOR() [1/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( bool  )

◆ CPPYY_DECL_VIEW_CREATOR() [2/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( double  )

◆ CPPYY_DECL_VIEW_CREATOR() [3/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( float  )

◆ CPPYY_DECL_VIEW_CREATOR() [4/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( int  )

◆ CPPYY_DECL_VIEW_CREATOR() [5/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( long double  )

◆ CPPYY_DECL_VIEW_CREATOR() [6/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( long long  )

◆ CPPYY_DECL_VIEW_CREATOR() [7/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( long  )

◆ CPPYY_DECL_VIEW_CREATOR() [8/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( short  )

◆ CPPYY_DECL_VIEW_CREATOR() [9/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( signed char  )

◆ CPPYY_DECL_VIEW_CREATOR() [10/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( std::complex< double )

◆ CPPYY_DECL_VIEW_CREATOR() [11/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( std::complex< float >  )

◆ CPPYY_DECL_VIEW_CREATOR() [12/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( std::complex< int )

◆ CPPYY_DECL_VIEW_CREATOR() [13/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( std::complex< long )

◆ CPPYY_DECL_VIEW_CREATOR() [14/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( unsigned char  )

◆ CPPYY_DECL_VIEW_CREATOR() [15/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( unsigned int  )

◆ CPPYY_DECL_VIEW_CREATOR() [16/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( unsigned long long  )

◆ CPPYY_DECL_VIEW_CREATOR() [17/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( unsigned long  )

◆ CPPYY_DECL_VIEW_CREATOR() [18/18]

CPyCppyy::CPPYY_DECL_VIEW_CREATOR ( unsigned short  )

◆ CPyCppyy_PyLong_AsHash_t()

static Py_hash_t CPyCppyy::CPyCppyy_PyLong_AsHash_t ( PyObject obj)
inlinestatic

Definition at line 463 of file CPPInstance.cxx.

◆ CreateConverter() [1/2]

CPYCPPYY_EXPORT CPyCppyy::Converter * CPyCppyy::CreateConverter ( const std::string &  fullType,
dims_t  dims = nullptr 
)

Definition at line 2651 of file Converters.cxx.

◆ CreateConverter() [2/2]

CPYCPPYY_EXTERN Converter * CPyCppyy::CreateConverter ( const std::string &  name,
Py_ssize_t dims = nullptr 
)

◆ CreateExcScopeProxy()

PyObject * CPyCppyy::CreateExcScopeProxy ( PyObject pyscope,
PyObject pyname,
PyObject parent 
)

Definition at line 717 of file ProxyWrappers.cxx.

◆ CreateExecutor()

CPYCPPYY_EXPORT Executor * CPyCppyy::CreateExecutor ( const std::string &  name)

Definition at line 748 of file Executors.cxx.

◆ CreateLowLevelView()

PyObject * CPyCppyy::CreateLowLevelView ( const char **  address,
Py_ssize_t shape = nullptr 
)

Definition at line 853 of file LowLevelViews.cxx.

◆ CreateNewCppProxyClass()

static PyObject * CPyCppyy::CreateNewCppProxyClass ( Cppyy::TCppScope_t  klass,
PyObject pybases 
)
static

Definition at line 53 of file ProxyWrappers.cxx.

◆ CreatePointerView()

PyObject * CPyCppyy::CreatePointerView ( void ptr,
size_t  size = (size_t)-1 
)
inline

Definition at line 56 of file LowLevelViews.h.

◆ CreatePyStrings()

bool CPyCppyy::CreatePyStrings ( )

Definition at line 67 of file PyStrings.cxx.

◆ CreateScopeProxy() [1/3]

PyObject * CPyCppyy::CreateScopeProxy ( const std::string &  scope_name,
PyObject parent = nullptr 
)

Definition at line 512 of file ProxyWrappers.cxx.

◆ CreateScopeProxy() [2/3]

PyObject * CPyCppyy::CreateScopeProxy ( Cppyy::TCppScope_t  scope)

Definition at line 490 of file ProxyWrappers.cxx.

◆ CreateScopeProxy() [3/3]

PyObject * CPyCppyy::CreateScopeProxy ( PyObject ,
PyObject args 
)

Definition at line 501 of file ProxyWrappers.cxx.

◆ CustomInstanceMethod_Check()

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

Definition at line 64 of file CustomPyTypes.h.

◆ CustomInstanceMethod_CheckExact()

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

Definition at line 70 of file CustomPyTypes.h.

◆ CustomInstanceMethod_New()

PyObject * CPyCppyy::CustomInstanceMethod_New ( PyObject func,
PyObject self,
PyObject pyclass 
)

Definition at line 103 of file CustomPyTypes.cxx.

◆ DestroyConverter()

CPYCPPYY_EXPORT void CPyCppyy::DestroyConverter ( Converter p)

Definition at line 2837 of file Converters.cxx.

◆ DestroyExecutor()

CPYCPPYY_EXPORT void CPyCppyy::DestroyExecutor ( Executor p)

Definition at line 837 of file Executors.cxx.

◆ DestroyPyStrings()

PyObject * CPyCppyy::DestroyPyStrings ( )

Definition at line 130 of file PyStrings.cxx.

◆ enum_setattro()

static int CPyCppyy::enum_setattro ( PyObject ,
PyObject ,
PyObject  
)
static

Definition at line 72 of file CPPScope.cxx.

◆ ep_clear()

static int CPyCppyy::ep_clear ( CPPExcInstance pyobj)
static

Definition at line 112 of file CPPExcInstance.cxx.

◆ ep_dealloc()

static void CPyCppyy::ep_dealloc ( CPPExcInstance pyobj)
static

Definition at line 101 of file CPPExcInstance.cxx.

◆ ep_getattro()

static PyObject * CPyCppyy::ep_getattro ( CPPExcInstance self,
PyObject attr 
)
static

Definition at line 124 of file CPPExcInstance.cxx.

◆ ep_new()

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

Definition at line 19 of file CPPExcInstance.cxx.

◆ ep_nonzero()

static int CPyCppyy::ep_nonzero ( CPPExcInstance self)
static

Definition at line 154 of file CPPExcInstance.cxx.

◆ ep_repr()

static PyObject * CPyCppyy::ep_repr ( CPPExcInstance self)
static

Definition at line 93 of file CPPExcInstance.cxx.

◆ ep_richcompare()

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

Definition at line 148 of file CPPExcInstance.cxx.

◆ ep_setattro()

static int CPyCppyy::ep_setattro ( CPPExcInstance self,
PyObject attr,
PyObject value 
)
static

Definition at line 136 of file CPPExcInstance.cxx.

◆ ep_str()

static PyObject * CPyCppyy::ep_str ( CPPExcInstance self)
static

Definition at line 66 of file CPPExcInstance.cxx.

◆ ep_traverse()

static int CPyCppyy::ep_traverse ( CPPExcInstance pyobj,
visitproc  visit,
void args 
)
static

Definition at line 51 of file CPPExcInstance.cxx.

◆ eqneq_binop()

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

Definition at line 347 of file CPPInstance.cxx.

◆ Eval()

const CPyCppyy::PyResult CPyCppyy::Eval ( const std::string &  expr)

Definition at line 354 of file API.cxx.

◆ Exec()

bool CPyCppyy::Exec ( const std::string &  cmd)

Definition at line 333 of file API.cxx.

◆ ExecScript()

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

Definition at line 267 of file API.cxx.

◆ GetScopeProxy()

PyObject * CPyCppyy::GetScopeProxy ( Cppyy::TCppScope_t  scope)

Definition at line 474 of file ProxyWrappers.cxx.

◆ HashSignature()

uint64_t CPyCppyy::HashSignature ( PyObject args)
inline

Definition at line 16 of file CPPOverload.h.

◆ HaveImplicit()

bool CPyCppyy::HaveImplicit ( CallContext ctxt)
inline

Definition at line 121 of file CallContext.h.

◆ im_call()

static PyObject * CPyCppyy::im_call ( PyObject meth,
PyObject args,
PyObject kw 
)
static

Definition at line 168 of file CustomPyTypes.cxx.

◆ im_dealloc()

static void CPyCppyy::im_dealloc ( PyMethodObject *  im)
static

Definition at line 143 of file CustomPyTypes.cxx.

◆ im_descr_get()

static PyObject * CPyCppyy::im_descr_get ( PyObject meth,
PyObject obj,
PyObject pyclass 
)
static

Definition at line 212 of file CustomPyTypes.cxx.

◆ Import()

bool CPyCppyy::Import ( const std::string &  name)

Definition at line 208 of file API.cxx.

◆ indexiter_dealloc()

static void CPyCppyy::indexiter_dealloc ( indexiterobject ii)
static

Definition at line 262 of file CustomPyTypes.cxx.

◆ indexiter_iternext()

static PyObject * CPyCppyy::indexiter_iternext ( indexiterobject ii)
static

Definition at line 272 of file CustomPyTypes.cxx.

◆ indexiter_traverse()

static int CPyCppyy::indexiter_traverse ( indexiterobject ii,
visitproc  visit,
void arg 
)
static

Definition at line 267 of file CustomPyTypes.cxx.

◆ InsertDispatcher()

bool CPyCppyy::InsertDispatcher ( CPPScope klass,
PyObject bases,
PyObject dct,
std::ostringstream &  err 
)

Definition at line 70 of file Dispatcher.cxx.

◆ Instance_AsVoidPtr()

void * CPyCppyy::Instance_AsVoidPtr ( PyObject pyobject)

Definition at line 94 of file API.cxx.

◆ Instance_Check()

bool CPyCppyy::Instance_Check ( PyObject pyobject)

Definition at line 148 of file API.cxx.

◆ Instance_CheckExact()

bool CPyCppyy::Instance_CheckExact ( PyObject pyobject)

Definition at line 159 of file API.cxx.

◆ Instance_FromVoidPtr()

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

Definition at line 109 of file API.cxx.

◆ Instance_IsLively()

bool CPyCppyy::Instance_IsLively ( PyObject pyobject)

Definition at line 170 of file API.cxx.

◆ IsConstructor()

bool CPyCppyy::IsConstructor ( uint64_t  flags)
inline

Definition at line 117 of file CallContext.h.

◆ IsCreator()

bool CPyCppyy::IsCreator ( uint64_t  flags)
inline

Definition at line 113 of file CallContext.h.

◆ IsSorted()

bool CPyCppyy::IsSorted ( uint64_t  flags)
inline

Definition at line 109 of file CallContext.h.

◆ LowLevelView_Check()

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

Definition at line 65 of file LowLevelViews.h.

◆ LowLevelView_CheckExact()

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

Definition at line 71 of file LowLevelViews.h.

◆ meta_alloc()

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

Definition at line 81 of file CPPScope.cxx.

◆ meta_dealloc()

static void CPyCppyy::meta_dealloc ( CPPScope scope)
static

Definition at line 88 of file CPPScope.cxx.

◆ meta_dir()

static PyObject * CPyCppyy::meta_dir ( CPPScope klass)
static

Definition at line 561 of file CPPScope.cxx.

◆ meta_getattro()

static PyObject * CPyCppyy::meta_getattro ( PyObject pyclass,
PyObject pyname 
)
static

Definition at line 305 of file CPPScope.cxx.

◆ meta_getcppname()

static PyObject * CPyCppyy::meta_getcppname ( CPPScope scope,
void  
)
static

Definition at line 104 of file CPPScope.cxx.

◆ meta_getmodule()

static PyObject * CPyCppyy::meta_getmodule ( CPPScope scope,
void  
)
static

Definition at line 112 of file CPPScope.cxx.

◆ meta_repr()

static PyObject * CPyCppyy::meta_repr ( CPPScope scope)
static

Definition at line 175 of file CPPScope.cxx.

◆ meta_setattro()

static int CPyCppyy::meta_setattro ( PyObject pyclass,
PyObject pyname,
PyObject pyval 
)
static

Definition at line 535 of file CPPScope.cxx.

◆ meta_setmodule()

static int CPyCppyy::meta_setmodule ( CPPScope scope,
PyObject value,
void  
)
static

Definition at line 154 of file CPPScope.cxx.

◆ NoImplicit()

bool CPyCppyy::NoImplicit ( CallContext ctxt)
inline

Definition at line 129 of file CallContext.h.

◆ op_clear()

static int CPyCppyy::op_clear ( CPPInstance pyobj)
static

Definition at line 336 of file CPPInstance.cxx.

◆ op_dealloc()

static void CPyCppyy::op_dealloc ( CPPInstance pyobj)
static

Definition at line 327 of file CPPInstance.cxx.

◆ op_dealloc_nofree()

void CPyCppyy::op_dealloc_nofree ( CPPInstance pyobj)

Definition at line 201 of file CPPInstance.cxx.

◆ op_destruct()

static PyObject * CPyCppyy::op_destruct ( CPPInstance self)
static

Definition at line 253 of file CPPInstance.cxx.

◆ op_dispatch()

static PyObject * CPyCppyy::op_dispatch ( PyObject self,
PyObject args,
PyObject  
)
static

Definition at line 264 of file CPPInstance.cxx.

◆ op_get_smartptr()

static PyObject * CPyCppyy::op_get_smartptr ( CPPInstance self)
static

Definition at line 293 of file CPPInstance.cxx.

◆ op_getownership()

static PyObject * CPyCppyy::op_getownership ( CPPInstance pyobj,
void  
)
static

Definition at line 572 of file CPPInstance.cxx.

◆ op_hash()

static Py_hash_t CPyCppyy::op_hash ( CPPInstance self)
static

Definition at line 472 of file CPPInstance.cxx.

◆ op_new()

static CPPInstance * CPyCppyy::op_new ( PyTypeObject *  subtype,
PyObject ,
PyObject  
)
static

Definition at line 316 of file CPPInstance.cxx.

◆ op_nonzero()

static int CPyCppyy::op_nonzero ( CPPInstance self)
static

Definition at line 228 of file CPPInstance.cxx.

◆ op_repr()

static PyObject * CPyCppyy::op_repr ( CPPInstance self)
static

Definition at line 434 of file CPPInstance.cxx.

◆ op_richcompare()

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

Definition at line 400 of file CPPInstance.cxx.

◆ op_setownership()

static int CPyCppyy::op_setownership ( CPPInstance pyobj,
PyObject value,
void  
)
static

Definition at line 578 of file CPPInstance.cxx.

◆ op_str()

static PyObject * CPyCppyy::op_str ( CPPInstance self)
static

Definition at line 533 of file CPPInstance.cxx.

◆ op_str_internal()

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

Definition at line 515 of file CPPInstance.cxx.

◆ Overload_Check()

bool CPyCppyy::Overload_Check ( PyObject pyobject)

Definition at line 185 of file API.cxx.

◆ Overload_CheckExact()

bool CPyCppyy::Overload_CheckExact ( PyObject pyobject)

Definition at line 196 of file API.cxx.

◆ pp_dealloc()

static void CPyCppyy::pp_dealloc ( CPPDataMember pyprop)
static

Definition at line 152 of file CPPDataMember.cxx.

◆ pp_get()

static PyObject * CPyCppyy::pp_get ( CPPDataMember pyprop,
CPPInstance pyobj,
PyObject  
)
static

Definition at line 27 of file CPPDataMember.cxx.

◆ pp_new()

static CPPDataMember * CPyCppyy::pp_new ( PyTypeObject *  pytype,
PyObject ,
PyObject  
)
static

Definition at line 137 of file CPPDataMember.cxx.

◆ pp_set()

static int CPyCppyy::pp_set ( CPPDataMember pyprop,
CPPInstance pyobj,
PyObject value 
)
static

Definition at line 92 of file CPPDataMember.cxx.

◆ Prompt()

void CPyCppyy::Prompt ( )

Definition at line 409 of file API.cxx.

◆ pt_new()

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

Definition at line 202 of file CPPScope.cxx.

◆ PyLongOrInt_AsULong()

unsigned long CPyCppyy::PyLongOrInt_AsULong ( PyObject pyobject)

Definition at line 130 of file Utility.cxx.

◆ PyLongOrInt_AsULong64()

ULong64_t CPyCppyy::PyLongOrInt_AsULong64 ( PyObject pyobject)

Definition at line 150 of file Utility.cxx.

◆ Pythonize()

bool CPyCppyy::Pythonize ( PyObject pyclass,
const std::string &  name 
)

Definition at line 1011 of file Pythonize.cxx.

◆ RefFloat_Check()

template<typename T >
bool CPyCppyy::RefFloat_Check ( T *  object)
inline

Definition at line 14 of file CustomPyTypes.h.

◆ RefFloat_CheckExact()

template<typename T >
bool CPyCppyy::RefFloat_CheckExact ( T *  object)
inline

Definition at line 20 of file CustomPyTypes.h.

◆ RefInt_Check()

template<typename T >
bool CPyCppyy::RefInt_Check ( T *  object)
inline

Definition at line 29 of file CustomPyTypes.h.

◆ RefInt_CheckExact()

template<typename T >
bool CPyCppyy::RefInt_CheckExact ( T *  object)
inline

Definition at line 35 of file CustomPyTypes.h.

◆ RegisterConverter() [1/2]

CPYCPPYY_EXPORT bool CPyCppyy::RegisterConverter ( const std::string &  name,
cf_t  fac 
)

Definition at line 2845 of file Converters.cxx.

◆ RegisterConverter() [2/2]

CPYCPPYY_EXTERN bool CPyCppyy::RegisterConverter ( const std::string &  name,
ConverterFactory_t   
)

◆ RegisterExecutor()

CPYCPPYY_EXPORT bool CPyCppyy::RegisterExecutor ( const std::string &  name,
ExecutorFactory_t   
)

Definition at line 845 of file Executors.cxx.

◆ ReleasesGIL()

bool CPyCppyy::ReleasesGIL ( CallContext ctxt)
inline

Definition at line 133 of file CallContext.h.

◆ Scope_Check()

bool CPyCppyy::Scope_Check ( PyObject pyobject)

Definition at line 128 of file API.cxx.

◆ Scope_CheckExact()

bool CPyCppyy::Scope_CheckExact ( PyObject pyobject)

Definition at line 138 of file API.cxx.

◆ sync_templates()

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

Definition at line 126 of file ProxyWrappers.cxx.

◆ targs2str()

static std::string CPyCppyy::targs2str ( TemplateProxy pytmpl)
inlinestatic

Definition at line 403 of file TemplateProxy.cxx.

◆ TC2CppName()

static PyObject * CPyCppyy::TC2CppName ( PyObject pytc,
const char *  cpd,
bool  allow_voidp 
)
static

Definition at line 20 of file TemplateProxy.cxx.

◆ TemplateProxy_Check()

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

Definition at line 79 of file TemplateProxy.h.

◆ TemplateProxy_CheckExact()

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

Definition at line 85 of file TemplateProxy.h.

◆ TemplateProxy_New()

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

Definition at line 91 of file TemplateProxy.h.

◆ tpc_call()

static PyObject * CPyCppyy::tpc_call ( typedefpointertoclassobject self,
PyObject args,
PyObject  
)
static

Definition at line 66 of file CustomPyTypes.cxx.

◆ tpp_call()

static PyObject * CPyCppyy::tpp_call ( TemplateProxy pytmpl,
PyObject args,
PyObject kwds 
)
static

Definition at line 466 of file TemplateProxy.cxx.

◆ tpp_clear()

static int CPyCppyy::tpp_clear ( TemplateProxy pytmpl)
static

Definition at line 330 of file TemplateProxy.cxx.

◆ tpp_dealloc()

static void CPyCppyy::tpp_dealloc ( TemplateProxy pytmpl)
static

Definition at line 340 of file TemplateProxy.cxx.

◆ tpp_descrget()

static TemplateProxy * CPyCppyy::tpp_descrget ( TemplateProxy pytmpl,
PyObject pyobj,
PyObject  
)
static

Definition at line 669 of file TemplateProxy.cxx.

◆ tpp_doc()

static PyObject * CPyCppyy::tpp_doc ( TemplateProxy pytmpl,
void  
)
static

Definition at line 362 of file TemplateProxy.cxx.

◆ tpp_getuseffi()

static PyObject * CPyCppyy::tpp_getuseffi ( CPPOverload ,
void  
)
static

Definition at line 701 of file TemplateProxy.cxx.

◆ tpp_new()

static TemplateProxy * CPyCppyy::tpp_new ( PyTypeObject *  ,
PyObject ,
PyObject  
)
static

Definition at line 315 of file TemplateProxy.cxx.

◆ tpp_repr()

static PyObject * CPyCppyy::tpp_repr ( TemplateProxy pytmpl)
static

Definition at line 394 of file TemplateProxy.cxx.

◆ tpp_setuseffi()

static int CPyCppyy::tpp_setuseffi ( CPPOverload ,
PyObject ,
void  
)
static

Definition at line 707 of file TemplateProxy.cxx.

◆ tpp_subscript()

static PyObject * CPyCppyy::tpp_subscript ( TemplateProxy pytmpl,
PyObject args 
)
static

Definition at line 688 of file TemplateProxy.cxx.

◆ tpp_traverse()

static int CPyCppyy::tpp_traverse ( TemplateProxy pytmpl,
visitproc  visit,
void arg 
)
static

Definition at line 352 of file TemplateProxy.cxx.

◆ TupleOfInstances_Check()

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

Definition at line 17 of file TupleOfInstances.h.

◆ TupleOfInstances_CheckExact()

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

Definition at line 23 of file TupleOfInstances.h.

◆ TupleOfInstances_New()

PyObject * CPyCppyy::TupleOfInstances_New ( Cppyy::TCppObject_t  address,
Cppyy::TCppType_t  klass,
dim_t  ndims,
dims_t  dims 
)

Definition at line 89 of file TupleOfInstances.cxx.

◆ TypedefPointerToClass_Check()

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

Definition at line 49 of file CustomPyTypes.h.

◆ TypedefPointerToClass_CheckExact()

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

Definition at line 55 of file CustomPyTypes.h.

◆ UnregisterConverter()

CPYCPPYY_EXPORT bool CPyCppyy::UnregisterConverter ( const std::string &  name)

Definition at line 2858 of file Converters.cxx.

◆ UnregisterExecutor()

CPYCPPYY_EXPORT bool CPyCppyy::UnregisterExecutor ( const std::string &  name)

Definition at line 858 of file Executors.cxx.

◆ UpdateDispatchMap()

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

Definition at line 409 of file TemplateProxy.cxx.

◆ UseStrictOwnership()

bool CPyCppyy::UseStrictOwnership ( CallContext ctxt)
inline

Definition at line 137 of file CallContext.h.

◆ vectoriter_dealloc()

static void CPyCppyy::vectoriter_dealloc ( vectoriterobject vi)
static

Definition at line 311 of file CustomPyTypes.cxx.

◆ vectoriter_iternext()

static PyObject * CPyCppyy::vectoriter_iternext ( vectoriterobject vi)
static

Definition at line 316 of file CustomPyTypes.cxx.

Variable Documentation

◆ CPPDataMember_Type

PyTypeObject CPyCppyy::CPPDataMember_Type

Definition at line 164 of file CPPDataMember.cxx.

◆ CPPExcInstance_Type

CPYCPPYY_IMPORT PyTypeObject CPyCppyy::CPPExcInstance_Type

Definition at line 226 of file CPPExcInstance.cxx.

◆ CPPInstance_Type

PyTypeObject CPyCppyy::CPPInstance_Type

Definition at line 745 of file CPPInstance.cxx.

◆ CPPOverload_Type

CPYCPPYY_IMPORT PyTypeObject CPyCppyy::CPPOverload_Type

Definition at line 863 of file CPPOverload.cxx.

◆ CPPScope_Type

PyTypeObject CPyCppyy::CPPScope_Type

Definition at line 614 of file CPPScope.cxx.

◆ CustomInstanceMethod_Type

PyTypeObject CPyCppyy::CustomInstanceMethod_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.InstanceMethod",
0, 0,
(destructor)im_dealloc,
0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES |
Py_TPFLAGS_BASETYPE,
(char*)"CPyCppyy custom instance method (internal)",
0, 0, 0, 0, 0, 0, 0, 0, 0,
&PyMethod_Type,
0,
im_descr_get,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
#define PyVarObject_HEAD_INIT(type, size)
Definition CPyCppyy.h:215
static void im_dealloc(PyMethodObject *im)
static PyObject * im_call(PyObject *meth, PyObject *args, PyObject *kw)

Definition at line 233 of file CustomPyTypes.cxx.

◆ ep_as_number

PyNumberMethods CPyCppyy::ep_as_number
static

Definition at line 163 of file CPPExcInstance.cxx.

◆ free_list

PyMethodObject* CPyCppyy::free_list
static

Definition at line 96 of file CustomPyTypes.cxx.

◆ gAbrtException

PyObject * CPyCppyy::gAbrtException = nullptr

Definition at line 169 of file CPyCppyyModule.cxx.

◆ gBusException

PyObject * CPyCppyy::gBusException = nullptr

Definition at line 166 of file CPyCppyyModule.cxx.

◆ gConvFactories

ConvFactories_t CPyCppyy::gConvFactories
static

Definition at line 39 of file Converters.cxx.

◆ gDictLookupActive

bool CPyCppyy::gDictLookupActive = false

Definition at line 32 of file TPyClassGenerator.cxx.

◆ gDictLookupOrg

dict_lookup_func CPyCppyy::gDictLookupOrg = 0
extern

Definition at line 26 of file Utility.cxx.

◆ gExecFactories

ExecFactories_t CPyCppyy::gExecFactories
static

Definition at line 24 of file Executors.cxx.

◆ gIllException

PyObject * CPyCppyy::gIllException = nullptr

Definition at line 168 of file CPyCppyyModule.cxx.

◆ gIteratorTypes

std::set< std::string > CPyCppyy::gIteratorTypes

Definition at line 1008 of file Pythonize.cxx.

◆ gNullPtrObject

PyObject * CPyCppyy::gNullPtrObject = nullptr

Definition at line 165 of file CPyCppyyModule.cxx.

◆ gPinnedTypes

std::set< Cppyy::TCppType_t > CPyCppyy::gPinnedTypes

Definition at line 171 of file CPyCppyyModule.cxx.

◆ gPythonizations

std::map< std::string, std::vector< PyObject * > > CPyCppyy::gPythonizations

Definition at line 170 of file CPyCppyyModule.cxx.

◆ gPyTypeMap

PyObject * CPyCppyy::gPyTypeMap = nullptr

Definition at line 164 of file CPyCppyyModule.cxx.

◆ gSegvException

PyObject * CPyCppyy::gSegvException = nullptr

Definition at line 167 of file CPyCppyyModule.cxx.

◆ gThisModule

PyObject * CPyCppyy::gThisModule = nullptr

Definition at line 100 of file TPython.cxx.

◆ IndexIter_Type

PyTypeObject CPyCppyy::IndexIter_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.indexiter",
sizeof(indexiterobject),
0,
(destructor)indexiter_dealloc,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT |
Py_TPFLAGS_HAVE_GC,
0,
(traverseproc)indexiter_traverse,
0, 0, 0,
PyObject_SelfIter,
(iternextfunc)indexiter_iternext,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}
static int indexiter_traverse(indexiterobject *ii, visitproc visit, void *arg)

Definition at line 284 of file CustomPyTypes.cxx.

◆ InstanceArrayIter_Type

PyTypeObject CPyCppyy::InstanceArrayIter_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.instancearrayiter",
sizeof(ia_iterobject),
0,
(destructor)PyObject_GC_Del,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT |
Py_TPFLAGS_HAVE_GC,
0,
(traverseproc)ia_traverse,
0, 0, 0,
PyObject_SelfIter,
(iternextfunc)ia_iternext,
0, 0, ia_getset, 0, 0, 0, 0,
0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definition at line 59 of file TupleOfInstances.cxx.

◆ LowLevelView_Type

PyTypeObject CPyCppyy::LowLevelView_Type

Definition at line 648 of file LowLevelViews.cxx.

◆ meta_getset

PyGetSetDef CPyCppyy::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:112
static PyObject * meta_getcppname(CPPScope *scope, void *)
Definition CPPScope.cxx:104

Definition at line 606 of file CPPScope.cxx.

◆ meta_methods

PyMethodDef CPyCppyy::meta_methods[]
static
Initial value:
= {
{(char*)"__dir__", (PyCFunction)meta_dir, METH_NOARGS, nullptr},
{(char*)nullptr, nullptr, 0, nullptr}
}
static PyObject * meta_dir(CPPScope *klass)
Definition CPPScope.cxx:561

Definition at line 599 of file CPPScope.cxx.

◆ numfree

int CPyCppyy::numfree = 0
static

Definition at line 97 of file CustomPyTypes.cxx.

◆ op_as_number

PyNumberMethods CPyCppyy::op_as_number
static

Definition at line 681 of file CPPInstance.cxx.

◆ op_getset

PyGetSetDef CPyCppyy::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 594 of file CPPInstance.cxx.

◆ op_methods

PyMethodDef CPyCppyy::op_methods[]
static
Initial value:
= {
{(char*)"__destruct__", (PyCFunction)op_destruct, METH_NOARGS, nullptr},
{(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*)nullptr, nullptr, 0, nullptr}
}
static PyObject * op_dispatch(PyObject *self, PyObject *args, PyObject *)
static PyObject * op_destruct(CPPInstance *self)

Definition at line 305 of file CPPInstance.cxx.

◆ RefFloat_Type

PyTypeObject CPyCppyy::RefFloat_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.Double",
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES |
Py_TPFLAGS_BASETYPE,
(char*)"CPyCppyy float object for pass by reference",
0, 0, 0, 0, 0, 0, 0, 0, 0,
&PyFloat_Type,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Custom "builtins," detectable by type, for pass by ref and improved performance.

Definition at line 18 of file CustomPyTypes.cxx.

◆ RefInt_Type

PyTypeObject CPyCppyy::RefInt_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.Long",
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT | Py_TPFLAGS_CHECKTYPES |
Py_TPFLAGS_BASETYPE
,
(char*)"CPyCppyy long object for pass by reference",
0, 0, 0, 0, 0, 0, 0, 0, 0,
&PyInt_Type,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definition at line 40 of file CustomPyTypes.cxx.

◆ SMALL_ARGS_N

const int CPyCppyy::SMALL_ARGS_N = 8

Definition at line 13 of file CallContext.h.

◆ TemplateProxy_Type

PyTypeObject CPyCppyy::TemplateProxy_Type

Definition at line 727 of file TemplateProxy.cxx.

◆ tpp_as_mapping

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

Definition at line 714 of file TemplateProxy.cxx.

◆ tpp_getset

PyGetSetDef CPyCppyy::tpp_getset[]
static
Initial value:
= {
{(char*)"__doc__", (getter)tpp_doc, nullptr, nullptr, nullptr},
{(char*)"__useffi__", (getter)tpp_getuseffi, (setter)tpp_setuseffi,
(char*)"unused", nullptr},
{(char*)nullptr, nullptr, nullptr, nullptr, nullptr}
}
static PyObject * tpp_doc(TemplateProxy *pytmpl, void *)
static PyObject * tpp_getuseffi(CPPOverload *, void *)

Definition at line 718 of file TemplateProxy.cxx.

◆ TupleOfInstances_Type

PyTypeObject CPyCppyy::TupleOfInstances_Type

Representation of C-style array of instances.

Author
WLAV
Date
02/10/2014
Version
1.0

Definition at line 158 of file TupleOfInstances.cxx.

◆ TypedefPointerToClass_Type

PyTypeObject CPyCppyy::TypedefPointerToClass_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.TypedefPointerToClass",
sizeof(typedefpointertoclassobject),
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
(ternaryfunc)tpc_call,
0, 0, 0, 0,
Py_TPFLAGS_DEFAULT |
Py_TPFLAGS_HAVE_GC,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definition at line 74 of file CustomPyTypes.cxx.

◆ VectorIter_Type

PyTypeObject CPyCppyy::VectorIter_Type
Initial value:
= {
PyVarObject_HEAD_INIT(&PyType_Type, 0)
(char*)"cppyy.vectoriter",
sizeof(vectoriterobject),
0,
(destructor)vectoriter_dealloc,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
Py_TPFLAGS_DEFAULT |
Py_TPFLAGS_HAVE_GC,
0,
(traverseproc)indexiter_traverse,
0, 0, 0,
PyObject_SelfIter,
(iternextfunc)vectoriter_iternext,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
}

Definition at line 343 of file CustomPyTypes.cxx.