Function

Contents

Function#

template<typename F>
FunctionHandler<F> YR::Function(F f)#

为指定函数构造一个函数处理器。

这个函数模板为指定的静态函数创建一个FunctionHandler对象。然后可以使用FunctionHandler对象来执行函数,并为函数调用设置各种选项,例如资源分配。

#include "yr/yr.h"

int PlusOne(int x)
{
    return x + 1;
}

YR_INVOKE(PlusOne)

int main()
{
    YR::Config conf;
    YR::Init(conf);

    std::vector<YR::ObjectRef<int>> n2;
    int k = 1;
    for (int i = 0; i < k; i++) {
        auto r2 = YR::Function(PlusOne).Invoke(2);
        n2.emplace_back(r2);
    }
    for (int i = 0; i < k; i++) {
        auto integer = *YR::Get(n2[i]);
        printf("%d :%d\n", i, integer);
    }

    YR::Finalize();
    return 0;
}
模板参数:
  • F - 要执行的函数的类型。

参数:
  • f - 要调用的静态函数。

抛出:

Exception - 如果该函数未使用 YR_INVOKE 宏进行注册,则会抛出异常。

返回:

FunctionHandler<F>:一个提供方法来执行函数并为函数调用设置选项的 FunctionHandler 对象。