现在有这样一个需求,我需要一种和脚本交互的接口函数,以前是手写的:
void MyInterface(Info info)
{
auto iso = info.getIsolate();
int a = iso.getArgsInt(1);
float b = iso.getArgsFloat(2);
string c = iso.getArgsString(3);
auto r = RealFunc(a,b,c);
iso.setReturnValue(r);
}
这个函数会被注册到脚本引擎中,通过上述abc三行的方法获取脚本中传入的参数,然后调用C++函数RealFunc来进行处理,最后设置返回值。
现在希望通过模板来做到这一点,最好能做到这样:
只要调用
InterfaceGenerator<int, float, string>(RealFunc)
便可以返回给我一个函数,函数的内容就是上面写的MyInterface那样。具体模板参数和实际参数可以变化,但是需要返回给我那个函数。
可以使用C++11/14等标准……
void MyInterface(Info info)
{
auto iso = info.getIsolate();
int a = iso.getArgsInt(1);
float b = iso.getArgsFloat(2);
string c = iso.getArgsString(3);
auto r = RealFunc(a,b,c);
iso.setReturnValue(r);
}
这个函数会被注册到脚本引擎中,通过上述abc三行的方法获取脚本中传入的参数,然后调用C++函数RealFunc来进行处理,最后设置返回值。
现在希望通过模板来做到这一点,最好能做到这样:
只要调用
InterfaceGenerator<int, float, string>(RealFunc)
便可以返回给我一个函数,函数的内容就是上面写的MyInterface那样。具体模板参数和实际参数可以变化,但是需要返回给我那个函数。
可以使用C++11/14等标准……