Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
cppjit_interop.h File Reference
#include <CppInterOp/CppInterOpTypes.h>
#include <CppInterOp/Dispatch.h>
#include <cassert>
#include <set>
#include <stddef.h>
#include <stdint.h>
#include <string>
#include <vector>
#include "callcontext.h"
#include "precommondefs.h"
Include dependency graph for cppjit_interop.h:
This graph shows which files directly or indirectly include this file:

Namespaces

namespace  cppjit
 
namespace  cppjit::interop
 

Typedefs

typedef long double PY_LONG_DOUBLE
 
typedef long long PY_LONG_LONG
 
typedef unsigned long long PY_ULONG_LONG
 
typedef Cpp::InterpRef cppjit::interop::TInterp_t
 

Functions

TCppMethod_t cppjit::interop::AdaptFunctionForLambdaReturn (TCppMethod_t fn)
 
TCppObject_t cppjit::interop::Allocate (TCppScope_t scope)
 
void * cppjit::interop::AllocateFunctionArgs (size_t nargs)
 
bool cppjit::interop::AppendTypesSlow (const std::string &name, std::vector< Cpp::TemplateArgInfo > &types, TCppScope_t parent=nullptr)
 
unsigned char cppjit::interop::CallB (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
char cppjit::interop::CallC (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
TCppObject_t cppjit::interop::CallConstructor (TCppMethod_t method, TCppScope_t klass, size_t nargs, void *args)
 
double cppjit::interop::CallD (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
void cppjit::interop::CallDestructor (TCppScope_t type, TCppObject_t self)
 
float cppjit::interop::CallF (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
short cppjit::interop::CallH (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
int cppjit::interop::CallI (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
long cppjit::interop::CallL (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
PY_LONG_DOUBLE cppjit::interop::CallLD (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
PY_LONG_LONG cppjit::interop::CallLL (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
TCppObject_t cppjit::interop::CallO (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args, TCppType_t result_type)
 
void * cppjit::interop::CallR (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
char * cppjit::interop::CallS (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args, size_t *length)
 
void cppjit::interop::CallV (TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
 
bool cppjit::interop::CheckDatamember (TCppScope_t scope, const std::string &name)
 
TCppIndex_t cppjit::interop::CompareMethodArgType (TCppMethod_t, TCppIndex_t iarg, const std::string &req_type)
 
bool cppjit::interop::Compile (const std::string &code, bool silent=false)
 
TCppObject_t cppjit::interop::Construct (TCppScope_t scope, void *arena=nullptr)
 
void cppjit::interop::Deallocate (TCppScope_t scope, TCppObject_t instance)
 
void cppjit::interop::DeallocateFunctionArgs (void *args)
 
void cppjit::interop::Destruct (TCppScope_t scope, TCppObject_t instance)
 
void cppjit::interop::DumpScope (TCppScope_t scope)
 
bool cppjit::interop::ExistsMethodTemplate (TCppScope_t scope, const std::string &name)
 
TCppScope_t cppjit::interop::GetActualClass (TCppScope_t klass, TCppObject_t obj)
 
void cppjit::interop::GetAllCppNames (TCppScope_t scope, std::set< std::string > &cppnames)
 
std::string cppjit::interop::GetBaseName (TCppScope_t klass, TCppIndex_t ibase)
 
ptrdiff_t cppjit::interop::GetBaseOffset (TCppScope_t derived, TCppScope_t base, TCppObject_t address, int direction, bool rerror=false)
 
TCppScope_t cppjit::interop::GetBaseScope (TCppScope_t klass, TCppIndex_t ibase)
 
void cppjit::interop::GetClassMethods (TCppScope_t scope, std::vector< TCppMethod_t > &methods)
 
void cppjit::interop::GetClassOperators (TCppScope_t klass, const std::string &opname, std::vector< TCppMethod_t > &operators)
 
TCppType_t cppjit::interop::GetComplexType (const std::string &element_type)
 
intptr_t cppjit::interop::GetDatamemberOffset (TCppScope_t var, TCppScope_t klass=nullptr)
 
void cppjit::interop::GetDatamembers (TCppScope_t scope, std::vector< TCppScope_t > &datamembers)
 
TCppType_t cppjit::interop::GetDatamemberType (TCppScope_t data)
 
std::string cppjit::interop::GetDatamemberTypeAsString (TCppScope_t var)
 
std::vector< long int > cppjit::interop::GetDimensions (TCppType_t type)
 
std::string cppjit::interop::GetDoxygenComment (TCppScope_t scope, bool strip_markers=true)
 
std::vector< TCppScope_t > cppjit::interop::GetEnumConstants (TCppScope_t scope)
 
TCppType_t cppjit::interop::GetEnumConstantType (TCppScope_t scope)
 
long long cppjit::interop::GetEnumDataValue (TCppScope_t scope)
 
std::string cppjit::interop::GetFinalName (TCppScope_t type)
 
TCppType_t cppjit::interop::GetFnTypeFromStdFn (TCppType_t fn_type)
 
void cppjit::interop::GetFnTypeSig (TCppType_t fn_type, std::vector< TCppType_t > &arg_types)
 
std::string cppjit::interop::GetFullName (TCppScope_t)
 
TCppScope_t cppjit::interop::GetFullScope (const std::string &scope_name)
 
TCppFuncAddr_t cppjit::interop::GetFunctionAddress (TCppMethod_t method, bool check_enabled=true)
 
size_t cppjit::interop::GetFunctionArgSizeof ()
 
size_t cppjit::interop::GetFunctionArgTypeoffset ()
 
TCppMethod_t cppjit::interop::GetGlobalOperator (TCppScope_t scope, const std::string &lc, const std::string &rc, const std::string &op)
 
TCppScope_t cppjit::interop::GetGlobalScope ()
 
std::string cppjit::interop::GetMethodArgCanonTypeAsString (TCppMethod_t method, TCppIndex_t iarg)
 
std::string cppjit::interop::GetMethodArgDefault (TCppMethod_t, TCppIndex_t iarg)
 
std::string cppjit::interop::GetMethodArgName (TCppMethod_t, TCppIndex_t iarg)
 
TCppType_t cppjit::interop::GetMethodArgType (TCppMethod_t, TCppIndex_t iarg)
 
std::string cppjit::interop::GetMethodArgTypeAsString (TCppMethod_t method, TCppIndex_t iarg)
 
TCppIndex_t cppjit::interop::GetMethodNumArgs (TCppMethod_t)
 
TCppIndex_t cppjit::interop::GetMethodReqArgs (TCppMethod_t)
 
TCppType_t cppjit::interop::GetMethodReturnType (TCppMethod_t)
 
std::string cppjit::interop::GetMethodReturnTypeAsString (TCppMethod_t)
 
std::vector< TCppMethod_t > cppjit::interop::GetMethodsFromName (TCppScope_t scope, const std::string &name)
 
std::string cppjit::interop::GetMethodSignature (TCppMethod_t, bool show_formal_args, TCppIndex_t max_args=(TCppIndex_t) -1)
 
TCppMethod_t cppjit::interop::GetMethodTemplate (TCppScope_t scope, const std::string &name, const std::string &proto)
 
std::string cppjit::interop::GetName (TCppScope_t)
 
TCppScope_t cppjit::interop::GetNamed (const std::string &scope_name, TCppScope_t parent_scope=TCppScope_t{})
 
TCppIndex_t cppjit::interop::GetNumBases (TCppScope_t klass)
 
TCppIndex_t cppjit::interop::GetNumBasesLongestBranch (TCppScope_t klass)
 
TCppIndex_t cppjit::interop::GetNumTemplatedMethods (TCppScope_t scope, bool accept_namespace=false)
 
TCppScope_t cppjit::interop::GetParentScope (TCppScope_t scope)
 
TCppType_t cppjit::interop::GetPointerType (TCppType_t type)
 
TCppType_t cppjit::interop::GetRealType (TCppType_t type)
 
TCppType_t cppjit::interop::GetReferencedType (TCppType_t type, bool rvalue=false)
 
TCppScope_t cppjit::interop::GetScope (const std::string &scope_name, TCppScope_t parent_scope=TCppScope_t{})
 
std::string cppjit::interop::GetScopedFinalName (TCppScope_t type)
 
TCppScope_t cppjit::interop::GetScopeFromType (TCppType_t type)
 
bool cppjit::interop::GetSmartPtrInfo (const std::string &, TCppScope_t *raw, TCppMethod_t *deref)
 
std::string cppjit::interop::GetTemplatedMethodName (TCppScope_t scope, TCppIndex_t imeth)
 
void cppjit::interop::GetTemplatedMethods (TCppScope_t scope, std::vector< TCppMethod_t > &methods)
 
TCppType_t cppjit::interop::GetType (const std::string &name, bool enable_slow_lookup=false)
 
std::string cppjit::interop::GetTypeAsString (TCppType_t type)
 
TCppType_t cppjit::interop::GetTypeFromScope (TCppScope_t klass)
 
TCppScope_t cppjit::interop::GetTypeScope (TCppScope_t klass)
 
TCppScope_t cppjit::interop::GetUnderlyingScope (TCppScope_t scope)
 
std::vector< TCppScope_t > cppjit::interop::GetUsingNamespaces (TCppScope_t)
 
bool cppjit::interop::HasVirtualDestructor (TCppScope_t type)
 
TCppScope_t cppjit::interop::InstantiateTemplate (TCppScope_t tmpl, Cpp::TemplateArgInfo *args, size_t args_size)
 
bool cppjit::interop::IsAbstract (TCppScope_t scope)
 
bool cppjit::interop::IsAggregate (TCppScope_t type)
 
bool cppjit::interop::IsBuiltin (const std::string &type_name)
 
bool cppjit::interop::IsBuiltin (TCppType_t type)
 
bool cppjit::interop::IsClass (TCppScope_t scope)
 
bool cppjit::interop::IsClassType (TCppType_t type)
 
bool cppjit::interop::IsComplete (TCppScope_t type)
 
bool cppjit::interop::IsConstMethod (TCppMethod_t)
 
bool cppjit::interop::IsConstructor (TCppMethod_t method)
 
bool cppjit::interop::IsConstVar (TCppScope_t var)
 
bool cppjit::interop::IsDefaultConstructable (TCppScope_t scope)
 
bool cppjit::interop::IsDeletedMethod (TCppMethod_t method)
 
bool cppjit::interop::IsDestructor (TCppMethod_t method)
 
bool cppjit::interop::IsEnumConstant (TCppScope_t scope)
 
bool cppjit::interop::IsEnumScope (TCppScope_t scope)
 
bool cppjit::interop::IsEnumType (TCppType_t type)
 
bool cppjit::interop::IsExplicit (TCppMethod_t method)
 
bool cppjit::interop::IsFunctionPointerType (TCppType_t type)
 
bool cppjit::interop::IsFunctionType (TCppType_t typ)
 
bool cppjit::interop::IsIntegerType (TCppType_t type, bool *is_signed=nullptr)
 
bool cppjit::interop::IsLambdaClass (TCppType_t type)
 
bool cppjit::interop::IsLValueReferenceType (TCppType_t type)
 
bool cppjit::interop::IsMutablePtrRefType (TCppType_t type)
 
bool cppjit::interop::IsNamespace (TCppScope_t scope)
 
bool cppjit::interop::IsPointerType (TCppType_t type)
 
bool cppjit::interop::IsPrivateData (TCppScope_t var)
 
bool cppjit::interop::IsPrivateMethod (TCppMethod_t method)
 
bool cppjit::interop::IsProtectedData (TCppScope_t var)
 
bool cppjit::interop::IsProtectedMethod (TCppMethod_t method)
 
bool cppjit::interop::IsPublicData (TCppScope_t var)
 
bool cppjit::interop::IsPublicMethod (TCppMethod_t method)
 
bool cppjit::interop::IsRValueReferenceType (TCppType_t type)
 
bool cppjit::interop::IsSameType (TCppType_t typ1, TCppType_t typ2)
 
bool cppjit::interop::IsSimilarFnTypes (TCppType_t typ1, TCppType_t typ2)
 
bool cppjit::interop::IsSmartPtr (TCppScope_t klass)
 
bool cppjit::interop::IsStaticDatamember (TCppScope_t var)
 
bool cppjit::interop::IsStaticMethod (TCppMethod_t method)
 
bool cppjit::interop::IsStaticTemplate (TCppScope_t scope, const std::string &name)
 
bool cppjit::interop::IsSubclass (TCppScope_t derived, TCppScope_t base)
 
bool cppjit::interop::IsTemplate (TCppScope_t scope)
 
bool cppjit::interop::IsTemplatedMethod (TCppMethod_t method)
 
bool cppjit::interop::IsTemplateInstantiation (TCppScope_t scope)
 
bool cppjit::interop::IsTypedefed (TCppScope_t scope)
 
bool cppjit::interop::IsVariable (TCppScope_t scope)
 
void cppjit::interop::LockInterpreter ()
 
TCppMethod_t cppjit::interop::ReduceReturnType (TCppMethod_t fn, TCppType_t reduce)
 
std::string cppjit::interop::ResolveEnum (TCppScope_t enum_scope)
 
TCppType_t cppjit::interop::ResolveEnumPointerType (TCppType_t type)
 
TCppType_t cppjit::interop::ResolveEnumReferenceType (TCppType_t type)
 
std::string cppjit::interop::ResolveName (const std::string &cppitem_name)
 
TCppType_t cppjit::interop::ResolveType (TCppType_t cppitem_name)
 
size_t cppjit::interop::SizeOf (TCppScope_t klass)
 
size_t cppjit::interop::SizeOfType (TCppType_t type)
 
std::string cppjit::interop::ToString (TCppScope_t klass, TCppObject_t obj)
 
void cppjit::interop::UnlockInterpreter ()
 
TCppScope_t cppjit::interop::WrapLambdaFromVariable (TCppScope_t var)
 

Typedef Documentation

◆ PY_LONG_DOUBLE

typedef long double PY_LONG_DOUBLE

Definition at line 36 of file cppjit_interop.h.

◆ PY_LONG_LONG

typedef long long PY_LONG_LONG

Definition at line 23 of file cppjit_interop.h.

◆ PY_ULONG_LONG

typedef unsigned long long PY_ULONG_LONG

Definition at line 31 of file cppjit_interop.h.