Tag: std function

如何使用SWIG包装std :: function对象?

我已经看到了很多类似的问题,但是没有找到解决我特定问题的方法。 我试图SWIGify一些使用std :: function的C ++ 11代码,所以我可以在我的Java应用程序中使用它。 我遇到过像这样的共享指针: virtual std::shared_ptr getTheThing(unsigned short thingID); 并使用shared_ptr指令成功处理它们,如下所示: %shared_ptr(some::ns::TheThing); 我遇到过这样的共享指针向量: virtual std::vector<std::shared_ptr> getAllTheThings() const = 0; 并使用如下模板成功处理它们: %template(ThingVector) std::vector<std::shared_ptr>; 现在我有一个像这样的方法: void registerThingCallback(std::function<void(std::shared_ptr) > func); 我无法让SWIG正确包装它。 我已经尝试使用%回调,导演,%模板和%内联function代码,因为我已经看到所有这些事情的例子,但是还没有能够得到任何似乎接近工作的东西。 如果有帮助(消毒和减少),这里有一个关于函数调用的更多上下文: thing_callback.h #include namespace some { namespace ns { /** * Hold some callbacks. */ class ThingCallbacks { public: /** * Registers a callback […]