import cpp11_move_only_valuewrapper.*; public class cpp11_move_only_valuewrapper_runme { static { try { System.loadLibrary("cpp11_move_only_valuewrapper"); } catch (UnsatisfiedLinkError e) { System.err.println("Native code library failed to load. See the chapter on Dynamic Linking Problems in the SWIG Java documentation for help.\n" + e); System.exit(1); } } public static void main(String argv[]) { Counter.reset_counts(); { XXX xxx = cpp11_move_only_valuewrapper.createXXX(); xxx.delete(); } if (cpp11_move_only_valuewrapper.has_cplusplus11()) // Was (1, 2, 0, 0, 0, 3) before SwigValueWrapper::operator=(T &&) was added. // Was (1, 1, 0, 1, 0, 3) before SwigValueWrapper::operator T&&() was added with new "out" typemaps Counter.check_counts(1, 0, 0, 2, 0, 3); Counter.reset_counts(); { XXX xxx = cpp11_move_only_valuewrapper.createXXX2(); xxx.delete(); } if (cpp11_move_only_valuewrapper.has_cplusplus11()) Counter.check_counts(1, 0, 0, 2, 0, 3); cpp11_move_only_valuewrapper.test1(); cpp11_move_only_valuewrapper.test2(); cpp11_move_only_valuewrapper.test3(); cpp11_move_only_valuewrapper.test4(); cpp11_move_only_valuewrapper.test5(); cpp11_move_only_valuewrapper.test6(); // Tests SwigValueWrapper, std::unique_ptr (SWIG not parsing a type that is move-only) Counter.reset_counts(); SWIGTYPE_p_std__unique_ptrT_XXX_t ptr = cpp11_move_only_valuewrapper.makeUniqueXXX(); cpp11_move_only_valuewrapper.cleanup(ptr); Counter.check_counts(1, 0, 0, 0, 0, 1); } }