| var cpp11_move_only = require("cpp11_move_only"); | |
| // Output | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mo = cpp11_move_only.MoveOnly.create(); | |
| cpp11_move_only.Counter.check_counts(1, 0, 0, 2, 0, 2); | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mc = cpp11_move_only.MovableCopyable.create(); | |
| cpp11_move_only.Counter.check_counts(2, 1, 0, 0, 1, 2); | |
| // Move semantics not used | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mc = cpp11_move_only.MovableCopyable.createConst(); | |
| cpp11_move_only.Counter.check_counts(2, 1, 1, 0, 0, 2); | |
| // Input static method | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mc = new cpp11_move_only.MovableCopyable(222); | |
| cpp11_move_only.Counter.check_counts(1, 0, 0, 0, 0, 0); | |
| cpp11_move_only.MovableCopyable.take(mc); | |
| cpp11_move_only.Counter.check_counts(2, 0, 1, 1, 0, 2); | |
| // Input global function | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mc = new cpp11_move_only.MovableCopyable(333); | |
| cpp11_move_only.Counter.check_counts(1, 0, 0, 0, 0, 0); | |
| cpp11_move_only.global_take_movable_copyable(mc); | |
| cpp11_move_only.Counter.check_counts(2, 0, 1, 1, 0, 2); | |
| // Input instance method | |
| cpp11_move_only.Counter.reset_counts(); | |
| var imt = new cpp11_move_only.InstanceMethodsTester(); | |
| var mc = new cpp11_move_only.MovableCopyable(444); | |
| cpp11_move_only.Counter.check_counts(1, 0, 0, 0, 0, 0); | |
| imt.instance_take_movable_copyable(mc); | |
| cpp11_move_only.Counter.check_counts(2, 0, 1, 1, 0, 2); | |
| // Input constructor | |
| cpp11_move_only.Counter.reset_counts(); | |
| var mc = new cpp11_move_only.MovableCopyable(555); | |
| cpp11_move_only.Counter.check_counts(1, 0, 0, 0, 0, 0); | |
| var ct = new cpp11_move_only.ConstructorTester(mc); | |
| cpp11_move_only.Counter.check_counts(2, 0, 1, 1, 0, 2); |