SWIG 将 boost::none_t 换成 Java

SWIG wrap boost::none_t in Java

我正在为其制作以下 C++ 函数 Java 包装器

void label(const std::string &label) {   // wrapper correctly built
   ...
}

void label(const boost::none_t t) {    // generating SWIGTYPE_p_boost__none_t
    ...
}

如何正确地将 boost::none_t 包装在 Java 中。我是 SWIG 的新手。感谢任何帮助

根据这个函数的实际用途,您可能需要这样的东西:

%{
#include <boost/none.hpp>
%}

%typemap(in,numinputs=0) boost::none_t %{
     = boost::none;
%}

void label(const boost::none_t t);

然后生成以下 Java:

public static void label()

参数在 Java 中被省略,并在调用函数之前通过赋值自动填充为 boost::none