| 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); | |
| } | |
| } |