#include "CPyCppyy.h"
#include "DeclareConverters.h"
#include "CallContext.h"
#include "CPPExcInstance.h"
#include "CPPInstance.h"
#include "CPPOverload.h"
#include "CustomPyTypes.h"
#include "LowLevelViews.h"
#include "MemoryRegulator.h"
#include "ProxyWrappers.h"
#include "PyStrings.h"
#include "TemplateProxy.h"
#include "TupleOfInstances.h"
#include "TypeManip.h"
#include "Utility.h"
#include <limits.h>
#include <stddef.h>
#include <string.h>
#include <array>
#include <utility>
#include <sstream>
#include "ROOT/RStringView.hxx"
Classes | |
struct | CPyCppyy_tagCDataObject |
struct | CPyCppyy_tagPyCArgObject |
Namespaces | |
namespace | CPyCppyy |
Set of helper functions that are invoked from the pythonizors, on the Python side. | |
Macros | |
#define | CPPYY_IMPL_ARRAY_CONVERTER(name, ctype, type, code) |
#define | CPPYY_IMPL_BASIC_CHAR_CONVERTER(name, type, low, high) |
#define | CPPYY_IMPL_BASIC_CONST_CHAR_REFCONVERTER(name, type, ctype, low, high) |
#define | CPPYY_IMPL_BASIC_CONST_REFCONVERTER(name, type, ctype, F1) |
#define | CPPYY_IMPL_BASIC_CONVERTER(name, type, stype, ctype, F1, F2, tc) |
#define | CPPYY_IMPL_REFCONVERTER(name, ctype, type, code) |
#define | CPPYY_IMPL_REFCONVERTER_FROM_MEMORY(name, ctype) |
#define | CPPYY_IMPL_STRING_AS_PRIMITIVE_CONVERTER(name, type, F1, F2) |
#define | ct_c_bool 0 |
#define | ct_c_byte 3 |
#define | ct_c_char 1 |
#define | ct_c_char_p 18 |
#define | ct_c_complex 21 |
#define | ct_c_double 16 |
#define | ct_c_float 15 |
#define | ct_c_int 8 |
#define | ct_c_int8 3 |
#define | ct_c_long 11 |
#define | ct_c_longdouble 17 |
#define | ct_c_longlong 13 |
#define | ct_c_shar 1 |
#define | ct_c_short 5 |
#define | ct_c_ubyte 4 |
#define | ct_c_uchar 4 |
#define | ct_c_uint 9 |
#define | ct_c_uint16 7 |
#define | ct_c_uint32 10 |
#define | ct_c_uint8 4 |
#define | ct_c_ulong 12 |
#define | ct_c_ulonglong 14 |
#define | ct_c_ushort 6 |
#define | ct_c_void_p 20 |
#define | ct_c_wchar 2 |
#define | ct_c_wchar_p 19 |
#define | NO_KNOWN_INITIALIZER_LIST 1 |
#define | NTYPES 22 |
#define | STRINGVIEW "basic_string_view<char,char_traits<char> >" |
#define | UNKNOWN_ARRAY_SIZE -2 |
#define | UNKNOWN_SIZE -1 |
#define | WSTRING "basic_string<wchar_t,char_traits<wchar_t>,allocator<wchar_t> >" |
Typedefs | |
typedef std::map< std::string, cf_t > | CPyCppyy::ConvFactories_t |
typedef std::pair< std::string, std::string > | RetSigKey_t |
Variables | |
c_double | |
c_uint8 | |
l unsigned | c_ushort |
CPyCppyy_PyLong_AsUInt8 | |
l unsigned | CPyCppyy_PyLong_AsUShort |
double | |
static const char * | FPCFM_ERRMSG = "conversion to std::function failed" |
static ConvFactories_t | CPyCppyy::gConvFactories |
static std::array< const char *, NTYPES > | gCTypesNames |
static std::array< PyTypeObject *, NTYPES > | gCTypesPtrTypes |
static std::array< PyTypeObject *, NTYPES > | gCTypesTypes |
PyObject * | CPyCppyy::gNullPtrObject = nullptr |
static PyMethodDef | gWrapperCacheEraserMethodDef |
long | |
const size_t | MOVE_REFCOUNT_CUTOFF = 1 |
PyFloat_AsDouble | |
PyFloat_FromDouble | |
PyInt_FromLong | |
static std::map< void *, std::string > | sFuncWrapperLookup |
l unsigned | short |
static unsigned int | sWrapperCounter = 0 |
static std::map< RetSigKey_t, std::vector< void * > > | sWrapperFree |
static std::map< RetSigKey_t, std::map< PyObject *, void * > > | sWrapperLookup |
static std::map< void *, PyObject ** > | sWrapperReference |
static std::map< PyObject *, std::pair< void *, RetSigKey_t > > | sWrapperWeakRefs |
uint8_t | |
Definition at line 1501 of file Converters.cxx.
Definition at line 568 of file Converters.cxx.
Definition at line 552 of file Converters.cxx.
Definition at line 537 of file Converters.cxx.
Definition at line 455 of file Converters.cxx.
Definition at line 697 of file Converters.cxx.
#define CPPYY_IMPL_REFCONVERTER_FROM_MEMORY | ( | name, | |
ctype | |||
) |
Definition at line 521 of file Converters.cxx.
Definition at line 1635 of file Converters.cxx.
#define ct_c_bool 0 |
Definition at line 75 of file Converters.cxx.
#define ct_c_byte 3 |
Definition at line 79 of file Converters.cxx.
#define ct_c_char 1 |
Definition at line 76 of file Converters.cxx.
#define ct_c_char_p 18 |
Definition at line 97 of file Converters.cxx.
#define ct_c_complex 21 |
Definition at line 100 of file Converters.cxx.
#define ct_c_double 16 |
Definition at line 95 of file Converters.cxx.
#define ct_c_float 15 |
Definition at line 94 of file Converters.cxx.
#define ct_c_int 8 |
Definition at line 87 of file Converters.cxx.
#define ct_c_int8 3 |
Definition at line 80 of file Converters.cxx.
#define ct_c_long 11 |
Definition at line 90 of file Converters.cxx.
#define ct_c_longdouble 17 |
Definition at line 96 of file Converters.cxx.
#define ct_c_longlong 13 |
Definition at line 92 of file Converters.cxx.
#define ct_c_shar 1 |
Definition at line 77 of file Converters.cxx.
#define ct_c_short 5 |
Definition at line 84 of file Converters.cxx.
#define ct_c_ubyte 4 |
Definition at line 81 of file Converters.cxx.
#define ct_c_uchar 4 |
Definition at line 82 of file Converters.cxx.
#define ct_c_uint 9 |
Definition at line 88 of file Converters.cxx.
#define ct_c_uint16 7 |
Definition at line 86 of file Converters.cxx.
#define ct_c_uint32 10 |
Definition at line 89 of file Converters.cxx.
#define ct_c_uint8 4 |
Definition at line 83 of file Converters.cxx.
#define ct_c_ulong 12 |
Definition at line 91 of file Converters.cxx.
#define ct_c_ulonglong 14 |
Definition at line 93 of file Converters.cxx.
#define ct_c_ushort 6 |
Definition at line 85 of file Converters.cxx.
#define ct_c_void_p 20 |
Definition at line 99 of file Converters.cxx.
#define ct_c_wchar 2 |
Definition at line 78 of file Converters.cxx.
#define ct_c_wchar_p 19 |
Definition at line 98 of file Converters.cxx.
#define NO_KNOWN_INITIALIZER_LIST 1 |
Definition at line 2573 of file Converters.cxx.
#define NTYPES 22 |
Definition at line 101 of file Converters.cxx.
#define STRINGVIEW "basic_string_view<char,char_traits<char> >" |
Definition at line 2914 of file Converters.cxx.
#define UNKNOWN_ARRAY_SIZE -2 |
Definition at line 31 of file Converters.cxx.
#define UNKNOWN_SIZE -1 |
Definition at line 30 of file Converters.cxx.
#define WSTRING "basic_string<wchar_t,char_traits<wchar_t>,allocator<wchar_t> >" |
Definition at line 2915 of file Converters.cxx.
typedef std::pair<std::string, std::string> RetSigKey_t |
Definition at line 2194 of file Converters.cxx.
|
inlinestatic |
Definition at line 348 of file Converters.cxx.
|
inlinestatic |
Definition at line 372 of file Converters.cxx.
CPPYY_IMPL_BASIC_CONVERTER | ( | Bool | , |
bool | , | ||
long | , | ||
c_bool | , | ||
PyInt_FromLong | , | ||
CPyCppyy_PyLong_AsBool | , | ||
'l' | |||
) |
Definition at line 741 of file Converters.cxx.
CPPYY_IMPL_BASIC_CONVERTER | ( | Float | , |
float | , | ||
double | , | ||
c_float | , | ||
PyFloat_FromDouble | , | ||
PyFloat_AsDouble | , | ||
'f' | |||
) |
l unsigned l CPPYY_IMPL_BASIC_CONVERTER | ( | Int | , |
int | , | ||
long | , | ||
c_uint | , | ||
PyInt_FromLong | , | ||
CPyCppyy_PyLong_AsStrictInt | , | ||
'l' | |||
) |
Definition at line 881 of file Converters.cxx.
CPPYY_IMPL_BASIC_CONVERTER | ( | Int8 | , |
int8_t | , | ||
long | , | ||
c_int8 | , | ||
PyInt_FromLong | , | ||
CPyCppyy_PyLong_AsInt8 | , | ||
'l' | |||
) |
d CPPYY_IMPL_BASIC_CONVERTER | ( | LDouble | , |
LongDouble_t | , | ||
LongDouble_t | , | ||
c_longdouble | , | ||
PyFloat_FromDouble | , | ||
PyFloat_AsDouble | , | ||
'g' | |||
) |
Definition at line 941 of file Converters.cxx.
l CPPYY_IMPL_BASIC_CONVERTER | ( | Short | , |
short | , | ||
long | , | ||
c_short | , | ||
PyInt_FromLong | , | ||
CPyCppyy_PyLong_AsShort | , | ||
'l' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Bool | , |
c_bool | , | ||
bool | , | ||
'?' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Char | , |
c_char | , | ||
char | , | ||
'b' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Char16 | , |
c_uint16 | , | ||
char16_t | , | ||
'H' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Char32 | , |
c_uint32 | , | ||
char32_t | , | ||
'I' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Float | , |
c_float | , | ||
float | , | ||
'f' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | Int8 | , |
c_int8 | , | ||
int8_t | , | ||
'b' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | LDouble | , |
c_longdouble | , | ||
LongDouble_t | , | ||
'D' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | SChar | , |
c_byte | , | ||
signed char | , | ||
'b' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | UChar | , |
c_ubyte | , | ||
unsigned char | , | ||
'B' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | ULong | , |
c_ulong | , | ||
unsigned long | , | ||
'L' | |||
) |
CPPYY_IMPL_REFCONVERTER | ( | WChar | , |
c_wchar | , | ||
wchar_t | , | ||
'u' | |||
) |
CPPYY_IMPL_REFCONVERTER_FROM_MEMORY | ( | Double | , |
c_double | |||
) |
CPPYY_IMPL_REFCONVERTER_FROM_MEMORY | ( | Int | , |
c_int | |||
) |
CPPYY_IMPL_REFCONVERTER_FROM_MEMORY | ( | Long | , |
c_long | |||
) |
Definition at line 228 of file Converters.cxx.
|
inlinestatic |
Definition at line 262 of file Converters.cxx.
Definition at line 297 of file Converters.cxx.
Definition at line 314 of file Converters.cxx.
Definition at line 334 of file Converters.cxx.
Definition at line 245 of file Converters.cxx.
Definition at line 279 of file Converters.cxx.
|
inlinestatic |
Definition at line 240 of file Converters.cxx.
Definition at line 496 of file Converters.cxx.
|
inlinestatic |
Definition at line 216 of file Converters.cxx.
|
static |
Definition at line 134 of file Converters.cxx.
|
static |
Definition at line 115 of file Converters.cxx.
|
inlinestatic |
Definition at line 1487 of file Converters.cxx.
Definition at line 181 of file Converters.cxx.
Definition at line 161 of file Converters.cxx.
|
static |
Definition at line 2218 of file Converters.cxx.
|
inlinestatic |
Definition at line 2663 of file Converters.cxx.
Definition at line 200 of file Converters.cxx.
Definition at line 2200 of file Converters.cxx.
c_double |
Definition at line 939 of file Converters.cxx.
c_uint8 |
Definition at line 876 of file Converters.cxx.
l unsigned c_ushort |
Definition at line 880 of file Converters.cxx.
CPyCppyy_PyLong_AsUInt8 |
Definition at line 876 of file Converters.cxx.
l unsigned CPyCppyy_PyLong_AsUShort |
Definition at line 880 of file Converters.cxx.
double |
Definition at line 939 of file Converters.cxx.
|
static |
Definition at line 2376 of file Converters.cxx.
|
static |
Definition at line 103 of file Converters.cxx.
|
static |
Definition at line 109 of file Converters.cxx.
|
static |
Definition at line 108 of file Converters.cxx.
|
static |
Definition at line 2212 of file Converters.cxx.
l unsigned long |
Definition at line 876 of file Converters.cxx.
const size_t MOVE_REFCOUNT_CUTOFF = 1 |
Definition at line 45 of file Converters.cxx.
PyFloat_AsDouble |
Definition at line 939 of file Converters.cxx.
PyFloat_FromDouble |
Definition at line 939 of file Converters.cxx.
l unsigned PyInt_FromLong |
Definition at line 876 of file Converters.cxx.
|
static |
Definition at line 2375 of file Converters.cxx.
l unsigned short |
Definition at line 880 of file Converters.cxx.
|
static |
Definition at line 2192 of file Converters.cxx.
|
static |
Definition at line 2195 of file Converters.cxx.
|
static |
Definition at line 2196 of file Converters.cxx.
Definition at line 2198 of file Converters.cxx.
|
static |
Definition at line 2197 of file Converters.cxx.
uint8_t |
Definition at line 876 of file Converters.cxx.