CppInstanceClass FactoryCreate#
-
static inline CppInstanceClass YR::CppInstanceClass::FactoryCreate(const std::string &creatorName)#
Create a CppInstanceClass object for invoking C++ functions.
// C++ class definition class Counter { public: int count; Counter() {} Counter(int init) { count = init; } static Counter* FactoryCreate() { return new Counter(10); } std::string RemoteVersion() { return "RemoteActor v0"; } }; YR_INVOKE(Counter::FactoryCreate, &Counter::RemoteVersion); // C++ code to create and invoke the instance int main(void) { YR::Config conf; YR::Init(conf); auto cppCls = YR::CppInstanceClass::FactoryCreate("Counter::FactoryCreate"); auto cppIns = YR::Instance(cppCls).Invoke(); auto obj = cppIns.CppFunction<std::string>("&Counter::RemoteVersion").Invoke(); auto res = *YR::Get(obj); std::cout << "add one result is " << res << std::endl; }
- Parameters:
creatorName – The name of the C++ class’s constructor or factory function.
- Returns:
A CppInstanceClass object that carries the necessary information to create a C++ function class instance. This object can be passed to YR::Instance as a parameter.