yr.cpp_instance_class#
- class yr.cpp_instance_class(class_name: str, factory_name: str, function_urn: str)[source]#
Bases:
objectConstructs a proxy for a C++ class to enable remote invocation.
init.
- Parameters:
class_name (str) – cpp class name.
factory_name (str) – Name of the static factory function of the cpp class.
function_urn (str) – Function URN, Defaults to sn:cn:yrk:default:function:0-defaultservice-cpp:$latest.
Examples
#include <iostream> #include "yr/yr.h" class Counter { public: int count; Counter() {} Counter(int init) { count = init; } static Counter* FactoryCreate(int init) { std::cout << "Counter FactoryCreate with init=" << init << std::endl; return new Counter(init); } int Add(int x) { count += x; std::cout << "Counter Add with init=" << count << std::endl; return count; } YR_STATE(count); }; YR_INVOKE(Counter::FactoryCreate, &Counter::Add);
>>> import yr >>> yr.init() >>> cpp_function_urn = ( ... "sn:cn:yrk:default:" ... "function:0-yr-defaultservice-cpp:$latest" ... ) >>> counter_class = yr.cpp_instance_class("Counter", "Counter::FactoryCreate", cpp_function_urn) >>> opt = yr.InvokeOptions(cpu=1000, memory=1024) >>> ins = counter_class.options(opt).invoke(11) >>> result = ins.Add.invoke(9) >>> yr.get(result) >>> ins.terminate() >>> yr.finalize()
Methods
init.
Get class name in this CPP instance
Get factory function name in this CPP instance
Get function key in this CPP instance
Create an instance of a cpp class.
Set user invoke options