Logo ROOT  
Reference Guide
cpp_cppyy.h
Go to the documentation of this file.
1 #ifndef CPYCPPYY_CPPYY_H
2 #define CPYCPPYY_CPPYY_H
3 
4 // Standard
5 #include <set>
6 #include <string>
7 #include <vector>
8 #include <stddef.h>
9 #include <stdint.h>
10 
11 
12 // ROOT types
13 typedef long long Long64_t;
14 typedef unsigned long long ULong64_t;
15 typedef long double LongDouble_t;
16 
17 namespace Cppyy {
18  typedef size_t TCppScope_t;
20  typedef void* TCppEnum_t;
21  typedef void* TCppObject_t;
22  typedef intptr_t TCppMethod_t;
23 
24  typedef size_t TCppIndex_t;
25  typedef void* TCppFuncAddr_t;
26 
27 // direct interpreter access -------------------------------------------------
29  bool Compile(const std::string& code);
30 
31 // name to opaque C++ scope representation -----------------------------------
33  std::string ResolveName(const std::string& cppitem_name);
35  std::string ResolveEnum(const std::string& enum_type);
37  TCppScope_t GetScope(const std::string& scope_name);
41  size_t SizeOf(TCppType_t klass);
43  size_t SizeOf(const std::string& type_name);
44 
46  bool IsBuiltin(const std::string& type_name);
48  bool IsComplete(const std::string& type_name);
49 
51  TCppScope_t gGlobalScope; // for fast access
52 
53 // memory management ---------------------------------------------------------
62 
63 // method/function dispatching -----------------------------------------------
65  void CallV(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
67  unsigned char CallB(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
69  char CallC(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
71  short CallH(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
73  int CallI(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
75  long CallL(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
77  Long64_t CallLL(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
79  float CallF(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
81  double CallD(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
83  LongDouble_t CallLD(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
85  void* CallR(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args);
87  char* CallS(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args, size_t* length);
89  TCppObject_t CallConstructor(TCppMethod_t method, TCppType_t type, size_t nargs, void* args);
93  TCppObject_t CallO(TCppMethod_t method, TCppObject_t self, size_t nargs, void* args, TCppType_t result_type);
94 
96  TCppFuncAddr_t GetFunctionAddress(TCppMethod_t method, bool check_enabled=true);
97 
98 // handling of function argument buffer --------------------------------------
100  void* AllocateFunctionArgs(size_t nargs);
102  void DeallocateFunctionArgs(void* args);
104  size_t GetFunctionArgSizeof();
106  size_t GetFunctionArgTypeoffset();
107 
108 // scope reflection information ----------------------------------------------
110  bool IsNamespace(TCppScope_t scope);
112  bool IsTemplate(const std::string& template_name);
114  bool IsAbstract(TCppType_t type);
116  bool IsEnum(const std::string& type_name);
117 
119  void GetAllCppNames(TCppScope_t scope, std::set<std::string>& cppnames);
120 
121 // namespace reflection information ------------------------------------------
123  std::vector<TCppScope_t> GetUsingNamespaces(TCppScope_t);
124 
125 // class reflection information ----------------------------------------------
127  std::string GetFinalName(TCppType_t type);
129  std::string GetScopedFinalName(TCppType_t type);
137  std::string GetBaseName(TCppType_t type, TCppIndex_t ibase);
139  bool IsSubtype(TCppType_t derived, TCppType_t base);
141  bool IsSmartPtr(TCppType_t type);
143  bool GetSmartPtrInfo(const std::string&, TCppType_t* raw, TCppMethod_t* deref);
145  void AddSmartPtrType(const std::string&);
146 
147 // calculate offsets between declared and actual type, up-cast: direction > 0; down-cast: direction < 0
149  ptrdiff_t GetBaseOffset(
150  TCppType_t derived, TCppType_t base, TCppObject_t address, int direction, bool rerror = false);
151 
152 // method/function reflection information ------------------------------------
156  std::vector<TCppIndex_t> GetMethodIndicesFromName(TCppScope_t scope, const std::string& name);
157 
160 
162  std::string GetMethodName(TCppMethod_t);
164  std::string GetMethodFullName(TCppMethod_t);
166  std::string GetMethodMangledName(TCppMethod_t);
168  std::string GetMethodResultType(TCppMethod_t);
174  std::string GetMethodArgName(TCppMethod_t, TCppIndex_t iarg);
176  std::string GetMethodArgType(TCppMethod_t, TCppIndex_t iarg);
178  std::string GetMethodArgDefault(TCppMethod_t, TCppIndex_t iarg);
180  std::string GetMethodSignature(TCppMethod_t, bool show_formalargs, TCppIndex_t maxargs = (TCppIndex_t)-1);
182  std::string GetMethodPrototype(TCppScope_t scope, TCppMethod_t, bool show_formalargs);
185 
189  std::string GetTemplatedMethodName(TCppScope_t scope, TCppIndex_t imeth);
193  bool ExistsMethodTemplate(TCppScope_t scope, const std::string& name);
195  bool IsMethodTemplate(TCppScope_t scope, TCppIndex_t imeth);
198  TCppScope_t scope, const std::string& name, const std::string& proto);
199 
202  TCppType_t scope, const std::string& lc, const std::string& rc, const std::string& op);
203 
204 // method properties ---------------------------------------------------------
206  bool IsPublicMethod(TCppMethod_t method);
208  bool IsProtectedMethod(TCppMethod_t method);
210  bool IsConstructor(TCppMethod_t method);
212  bool IsDestructor(TCppMethod_t method);
214  bool IsStaticMethod(TCppMethod_t method);
215 
216 // data member reflection information ----------------------------------------
220  std::string GetDatamemberName(TCppScope_t scope, TCppIndex_t idata);
222  std::string GetDatamemberType(TCppScope_t scope, TCppIndex_t idata);
224  intptr_t GetDatamemberOffset(TCppScope_t scope, TCppIndex_t idata);
226  TCppIndex_t GetDatamemberIndex(TCppScope_t scope, const std::string& name);
227 
228 // data member properties ----------------------------------------------------
230  bool IsPublicData(TCppScope_t scope, TCppIndex_t idata);
232  bool IsProtectedData(TCppScope_t scope, TCppIndex_t idata);
234  bool IsStaticData(TCppScope_t scope, TCppIndex_t idata);
236  bool IsConstData(TCppScope_t scope, TCppIndex_t idata);
238  bool IsEnumData(TCppScope_t scope, TCppIndex_t idata);
240  int GetDimensionSize(TCppScope_t scope, TCppIndex_t idata, int dimension);
241 
242 // enum properties -----------------------------------------------------------
244  TCppEnum_t GetEnum(TCppScope_t scope, const std::string& enum_name);
248  std::string GetEnumDataName(TCppEnum_t, TCppIndex_t idata);
250  long long GetEnumDataValue(TCppEnum_t, TCppIndex_t idata);
251 
252 } // namespace Cppyy
253 
254 #endif // !CPYCPPYY_CPPYY_H
Cppyy::GetNumTemplatedMethods
RPY_EXPORTED TCppIndex_t GetNumTemplatedMethods(TCppScope_t scope)
Definition: clingwrapper.cxx:1556
Cppyy::TCppEnum_t
void * TCppEnum_t
Definition: cpp_cppyy.h:20
Cppyy::IsStaticData
RPY_EXPORTED bool IsStaticData(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1977
Cppyy::CallV
RPY_EXPORTED void CallV(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Definition: clingwrapper.cxx:827
Cppyy::GetMethodFullName
RPY_EXPORTED std::string GetMethodFullName(TCppMethod_t)
Definition: clingwrapper.cxx:1410
Cppyy::IsEnumData
RPY_EXPORTED bool IsEnumData(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:2002
Cppyy::ResolveEnum
RPY_EXPORTED std::string ResolveEnum(const std::string &enum_type)
Definition: clingwrapper.cxx:444
Cppyy::GetDatamemberIndex
RPY_EXPORTED TCppIndex_t GetDatamemberIndex(TCppScope_t scope, const std::string &name)
Definition: clingwrapper.cxx:1903
Cppyy::GetDatamemberType
RPY_EXPORTED std::string GetDatamemberType(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1827
Cppyy::GetMethodTemplate
RPY_EXPORTED TCppMethod_t GetMethodTemplate(TCppScope_t scope, const std::string &name, const std::string &proto)
Definition: clingwrapper.cxx:1633
Cppyy::Compile
RPY_EXPORTED bool Compile(const std::string &code)
Definition: clingwrapper.cxx:374
Cppyy::GetMethodArgType
RPY_EXPORTED std::string GetMethodArgType(TCppMethod_t, TCppIndex_t iarg)
Definition: clingwrapper.cxx:1485
Cppyy::GetSmartPtrInfo
RPY_EXPORTED bool GetSmartPtrInfo(const std::string &, TCppType_t *raw, TCppMethod_t *deref)
Definition: clingwrapper.cxx:1243
Cppyy::SizeOf
RPY_EXPORTED size_t SizeOf(TCppType_t klass)
Definition: clingwrapper.cxx:618
Cppyy
Definition: cpp_cppyy.h:17
Cppyy::TCppScope_t
size_t TCppScope_t
Definition: cpp_cppyy.h:18
Long64_t
long long Long64_t
Definition: RtypesCore.h:73
Cppyy::GetFunctionAddress
RPY_EXPORTED TCppFuncAddr_t GetFunctionAddress(TCppMethod_t method, bool check_enabled=true)
Definition: clingwrapper.cxx:892
Cppyy::IsStaticMethod
RPY_EXPORTED bool IsStaticMethod(TCppMethod_t method)
Definition: clingwrapper.cxx:1793
ULong64_t
unsigned long long ULong64_t
Definition: cpp_cppyy.h:14
Cppyy::IsSubtype
RPY_EXPORTED bool IsSubtype(TCppType_t derived, TCppType_t base)
Definition: clingwrapper.cxx:1225
Cppyy::GetUsingNamespaces
RPY_EXPORTED std::vector< TCppScope_t > GetUsingNamespaces(TCppScope_t)
Definition: clingwrapper.cxx:1117
Cppyy::GetMethodArgName
RPY_EXPORTED std::string GetMethodArgName(TCppMethod_t, TCppIndex_t iarg)
Definition: clingwrapper.cxx:1475
Cppyy::GetMethodReqArgs
RPY_EXPORTED TCppIndex_t GetMethodReqArgs(TCppMethod_t)
Definition: clingwrapper.cxx:1466
Cppyy::ResolveName
RPY_EXPORTED std::string ResolveName(const std::string &cppitem_name)
Definition: clingwrapper.cxx:381
Cppyy::GetTemplatedMethodName
RPY_EXPORTED std::string GetTemplatedMethodName(TCppScope_t scope, TCppIndex_t imeth)
Definition: clingwrapper.cxx:1573
Cppyy::CallL
RPY_EXPORTED long CallL(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::IsDestructor
RPY_EXPORTED bool IsDestructor(TCppMethod_t method)
Definition: clingwrapper.cxx:1784
Cppyy::TCppFuncAddr_t
void * TCppFuncAddr_t
Definition: cpp_cppyy.h:25
Cppyy::AddSmartPtrType
RPY_EXPORTED void AddSmartPtrType(const std::string &)
Definition: clingwrapper.cxx:1269
Cppyy::GetDimensionSize
RPY_EXPORTED int GetDimensionSize(TCppScope_t scope, TCppIndex_t idata, int dimension)
Definition: clingwrapper.cxx:2042
Cppyy::GetMethodSignature
RPY_EXPORTED std::string GetMethodSignature(TCppMethod_t, bool show_formalargs, TCppIndex_t maxargs=(TCppIndex_t) -1)
Definition: clingwrapper.cxx:1508
Cppyy::IsSmartPtr
RPY_EXPORTED bool IsSmartPtr(TCppType_t type)
Definition: clingwrapper.cxx:1234
Cppyy::GetMethodNumArgs
RPY_EXPORTED TCppIndex_t GetMethodNumArgs(TCppMethod_t)
Definition: clingwrapper.cxx:1459
Cppyy::IsConstData
RPY_EXPORTED bool IsConstData(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1988
Cppyy::GetActualClass
RPY_EXPORTED TCppType_t GetActualClass(TCppType_t klass, TCppObject_t obj)
Definition: clingwrapper.cxx:565
Cppyy::GetAllCppNames
RPY_EXPORTED void GetAllCppNames(TCppScope_t scope, std::set< std::string > &cppnames)
Definition: clingwrapper.cxx:1027
Cppyy::IsProtectedData
RPY_EXPORTED bool IsProtectedData(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1966
Cppyy::IsBuiltin
RPY_EXPORTED bool IsBuiltin(const std::string &type_name)
Definition: clingwrapper.cxx:633
Cppyy::IsConstructor
RPY_EXPORTED bool IsConstructor(TCppMethod_t method)
Definition: clingwrapper.cxx:1775
Cppyy::GetBaseName
RPY_EXPORTED std::string GetBaseName(TCppType_t type, TCppIndex_t ibase)
Definition: clingwrapper.cxx:1219
Cppyy::Allocate
RPY_EXPORTED TCppObject_t Allocate(TCppType_t type)
Definition: clingwrapper.cxx:662
Cppyy::HasVirtualDestructor
RPY_EXPORTED bool HasVirtualDestructor(TCppType_t type)
Definition: clingwrapper.cxx:1173
Cppyy::IsProtectedMethod
RPY_EXPORTED bool IsProtectedMethod(TCppMethod_t method)
Definition: clingwrapper.cxx:1766
Cppyy::GetScope
RPY_EXPORTED TCppScope_t GetScope(const std::string &scope_name)
Definition: clingwrapper.cxx:497
Cppyy::ExistsMethodTemplate
RPY_EXPORTED bool ExistsMethodTemplate(TCppScope_t scope, const std::string &name)
Definition: clingwrapper.cxx:1602
Cppyy::GetMethodIndicesFromName
RPY_EXPORTED std::vector< TCppIndex_t > GetMethodIndicesFromName(TCppScope_t scope, const std::string &name)
Definition: clingwrapper.cxx:1349
Cppyy::TCppIndex_t
size_t TCppIndex_t
Definition: cpp_cppyy.h:24
Cppyy::GetDatamemberOffset
RPY_EXPORTED intptr_t GetDatamemberOffset(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1870
Cppyy::IsPublicMethod
RPY_EXPORTED bool IsPublicMethod(TCppMethod_t method)
Definition: clingwrapper.cxx:1757
Cppyy::GetEnumDataValue
RPY_EXPORTED long long GetEnumDataValue(TCppEnum_t, TCppIndex_t idata)
Definition: clingwrapper.cxx:2080
Cppyy::HasComplexHierarchy
RPY_EXPORTED bool HasComplexHierarchy(TCppType_t type)
Definition: clingwrapper.cxx:1186
Cppyy::CallR
RPY_EXPORTED void * CallR(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Definition: clingwrapper.cxx:843
Cppyy::IsTemplate
RPY_EXPORTED bool IsTemplate(const std::string &template_name)
Definition: clingwrapper.cxx:553
Cppyy::GetMethodArgDefault
RPY_EXPORTED std::string GetMethodArgDefault(TCppMethod_t, TCppIndex_t iarg)
Definition: clingwrapper.cxx:1495
Cppyy::gGlobalScope
RPY_EXPORTED TCppScope_t gGlobalScope
Definition: cpp_cppyy.h:51
Cppyy::IsNamespace
RPY_EXPORTED bool IsNamespace(TCppScope_t scope)
Definition: clingwrapper.cxx:923
Cppyy::CallB
RPY_EXPORTED unsigned char CallB(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::CallDestructor
RPY_EXPORTED void CallDestructor(TCppType_t type, TCppObject_t self)
Definition: clingwrapper.cxx:876
Cppyy::IsTemplatedConstructor
RPY_EXPORTED bool IsTemplatedConstructor(TCppScope_t scope, TCppIndex_t imeth)
Definition: clingwrapper.cxx:1588
Cppyy::GetMethodPrototype
RPY_EXPORTED std::string GetMethodPrototype(TCppScope_t scope, TCppMethod_t, bool show_formalargs)
Definition: clingwrapper.cxx:1533
Cppyy::IsPublicData
RPY_EXPORTED bool IsPublicData(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1955
Cppyy::CallO
RPY_EXPORTED TCppObject_t CallO(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args, TCppType_t result_type)
Definition: clingwrapper.cxx:882
Cppyy::GetNumDatamembers
RPY_EXPORTED TCppIndex_t GetNumDatamembers(TCppScope_t scope)
Definition: clingwrapper.cxx:1803
Cppyy::Destruct
RPY_EXPORTED void Destruct(TCppType_t type, TCppObject_t instance)
Definition: clingwrapper.cxx:680
Cppyy::GetScopedFinalName
RPY_EXPORTED std::string GetScopedFinalName(TCppType_t type)
Definition: clingwrapper.cxx:1159
Cppyy::CallC
RPY_EXPORTED char CallC(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::CallF
RPY_EXPORTED float CallF(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::CallLL
RPY_EXPORTED Long64_t CallLL(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::IsConstMethod
RPY_EXPORTED bool IsConstMethod(TCppMethod_t)
Definition: clingwrapper.cxx:1547
Cppyy::GetNumEnumData
RPY_EXPORTED TCppIndex_t GetNumEnumData(TCppEnum_t)
Definition: clingwrapper.cxx:2070
Cppyy::GetNumBases
RPY_EXPORTED TCppIndex_t GetNumBases(TCppType_t type)
Definition: clingwrapper.cxx:1210
Cppyy::TCppType_t
TCppScope_t TCppType_t
Definition: cpp_cppyy.h:19
Cppyy::TCppObject_t
void * TCppObject_t
Definition: cpp_cppyy.h:21
RooFit_internal::instance
static Roo_reg_AGKInteg1D instance
Definition: RooAdaptiveGaussKronrodIntegrator1D.cxx:153
Cppyy::CallH
RPY_EXPORTED short CallH(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::CallI
RPY_EXPORTED int CallI(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::Deallocate
RPY_EXPORTED void Deallocate(TCppType_t type, TCppObject_t instance)
Definition: clingwrapper.cxx:668
proto
const char * proto
Definition: civetweb.c:16604
Cppyy::GetFinalName
RPY_EXPORTED std::string GetFinalName(TCppType_t type)
Definition: clingwrapper.cxx:1146
Cppyy::TCppMethod_t
intptr_t TCppMethod_t
Definition: cpp_cppyy.h:22
LongDouble_t
long double LongDouble_t
Definition: RtypesCore.h:61
Long64_t
long long Long64_t
Definition: cpp_cppyy.h:13
Cppyy::CallLD
RPY_EXPORTED LongDouble_t CallLD(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::GetMethod
RPY_EXPORTED TCppMethod_t GetMethod(TCppScope_t scope, TCppIndex_t imeth)
Definition: clingwrapper.cxx:1384
Cppyy::GetEnum
RPY_EXPORTED TCppEnum_t GetEnum(TCppScope_t scope, const std::string &enum_name)
Definition: clingwrapper.cxx:2058
Cppyy::CallD
RPY_EXPORTED double CallD(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args)
Cppyy::IsEnum
RPY_EXPORTED bool IsEnum(const std::string &type_name)
Definition: clingwrapper.cxx:943
Cppyy::GetEnumDataName
RPY_EXPORTED std::string GetEnumDataName(TCppEnum_t, TCppIndex_t idata)
Definition: clingwrapper.cxx:2075
Cppyy::GetBaseOffset
RPY_EXPORTED ptrdiff_t GetBaseOffset(TCppType_t derived, TCppType_t base, TCppObject_t address, int direction, bool rerror=false)
Definition: clingwrapper.cxx:1276
Cppyy::DeallocateFunctionArgs
RPY_EXPORTED void DeallocateFunctionArgs(void *args)
Definition: clingwrapper.cxx:906
Cppyy::GetGlobalOperator
RPY_EXPORTED TCppIndex_t GetGlobalOperator(TCppType_t scope, const std::string &lc, const std::string &rc, const std::string &op)
Definition: clingwrapper.cxx:1726
name
char name[80]
Definition: TGX11.cxx:110
Cppyy::Construct
RPY_EXPORTED TCppObject_t Construct(TCppType_t type)
Definition: clingwrapper.cxx:673
Cppyy::IsMethodTemplate
RPY_EXPORTED bool IsMethodTemplate(TCppScope_t scope, TCppIndex_t imeth)
Definition: clingwrapper.cxx:1616
Cppyy::IsAbstract
RPY_EXPORTED bool IsAbstract(TCppType_t type)
Definition: clingwrapper.cxx:934
Cppyy::GetMethodName
RPY_EXPORTED std::string GetMethodName(TCppMethod_t)
Definition: clingwrapper.cxx:1397
Cppyy::GetDatamemberName
RPY_EXPORTED std::string GetDatamemberName(TCppScope_t scope, TCppIndex_t idata)
Definition: clingwrapper.cxx:1815
Cppyy::CallConstructor
RPY_EXPORTED TCppObject_t CallConstructor(TCppMethod_t method, TCppType_t type, size_t nargs, void *args)
Definition: clingwrapper.cxx:867
Cppyy::GetNumMethods
RPY_EXPORTED TCppIndex_t GetNumMethods(TCppScope_t scope)
Definition: clingwrapper.cxx:1317
type
int type
Definition: TGX11.cxx:121
Cppyy::GetMethodMangledName
RPY_EXPORTED std::string GetMethodMangledName(TCppMethod_t)
Definition: clingwrapper.cxx:1420
Cppyy::GetMethodResultType
RPY_EXPORTED std::string GetMethodResultType(TCppMethod_t)
Definition: clingwrapper.cxx:1427
Cppyy::IsComplete
RPY_EXPORTED bool IsComplete(const std::string &type_name)
Definition: clingwrapper.cxx:640
Cppyy::GetFunctionArgTypeoffset
RPY_EXPORTED size_t GetFunctionArgTypeoffset()
Definition: clingwrapper.cxx:916
Cppyy::GetFunctionArgSizeof
RPY_EXPORTED size_t GetFunctionArgSizeof()
Definition: clingwrapper.cxx:911
RPY_EXPORTED
#define RPY_EXPORTED
Definition: precommondefs.h:67
Cppyy::AllocateFunctionArgs
RPY_EXPORTED void * AllocateFunctionArgs(size_t nargs)
Definition: clingwrapper.cxx:901
LongDouble_t
long double LongDouble_t
Definition: cpp_cppyy.h:15
Cppyy::CallS
RPY_EXPORTED char * CallS(TCppMethod_t method, TCppObject_t self, size_t nargs, void *args, size_t *length)
Definition: clingwrapper.cxx:851