我有以下c ++函数,我正在制作Java包装器
void label(const std::string &label) { // wrapper correctly built
...
}
void label(const boost::none_t t) { // generating SWIGTYPE_p_boost__none_t
...
}
如何在Java中正确包装boost :: none_t。我是SWIG的新手。任何帮助表示赞赏
答案 0 :(得分:1)
根据这个功能的实际功能你可能需要这样的东西:
SELECT test.*, pg_column_size(test.data) AS column_size
FROM test
JOIN (SELECT id, unnest(data) AS strings FROM test) AS id_strings USING (id)
WHERE id_strings.strings = 'Wazaa';
然后生成以下Java:
%{
#include <boost/none.hpp>
%}
%typemap(in,numinputs=0) boost::none_t %{
$1 = boost::none;
%}
void label(const boost::none_t t);
在Java中省略该参数,并在调用函数之前通过赋值自动填充public static void label()
。