8 #include "TMethodArg.h"
9 #include "TMethodCall.h"
11 #include "tbb/concurrent_unordered_map.h"
15 typedef tbb::concurrent_unordered_map<TMethod const*, TypeWithDict> Map;
23 TMethodCall caller(meth);
24 auto callFunc = caller.GetCallFunc();
25 funcptr_ = gInterpreter->CallFunc_IFacePtr(callFunc);
30 if (function_ ==
nullptr) {
33 return function_->IsValid();
42 if (
item != returnTypeMap.end()) {
46 returnTypeMap.insert(std::make_pair(
function_, theType));
76 std::vector<void*>
const&
values )
const {
77 void**
data =
const_cast<void**
>(values.data());
88 std::vector<void*>
const&
values )
const {
89 void**
data =
const_cast<void**
>(values.data());
92 (*
funcptr_.fGeneric)(
nullptr, values.size(),
data,
nullptr);
tuple ret
prodAgent to be discontinued
bool isConstructor() const
TypeWithDict declaringType() const
IterWithDict< TMethodArg > end() const
IterWithDict< TMethodArg > begin() const
static TypeWithDict byName(std::string const &name)
std::string typeName() const
void invoke(ObjectWithDict const &obj, ObjectWithDict *ret=nullptr, std::vector< void * > const &values=std::vector< void * >()) const
Call a member function.
TypeWithDict finalReturnType() const
size_t functionParameterSize(bool required=false) const
char data[epos_bytes_allocation]
TInterpreter::CallFuncIFacePtr_t funcptr_
bool isDestructor() const