как привязать функтор с более чем одним аргументом к lua ​​с помощью luabind

Если я хочу привязать функтор с одним аргументом к lua ​​с помощью luabind, мне может помочь следующий код:

struct vec
{
    int operator()(int a)
    {
        return a + 10;
    }
};
module(L)
[
    class_<vec>("vec")
        .def( self(int()) )
];

Но как связать функтор с более чем одним аргументом, например:

struct vec
{
    int operator()(int a, int b, int c)
    {
        return a + b + c;
    }
} 

person kingzhang    schedule 26.09.2012    source источник


Ответы (1)


Вы должны использовать tag_function.

http://www.rasterbar.com/products/luabind/docs.html#binding-function-objects-with-explicit-signatures

person McLeary    schedule 11.08.2013