| from cpp11_move_only import * | |
| # Output | |
| Counter.reset_counts() | |
| mo = MoveOnly.create() | |
| del mo | |
| Counter.check_counts(1, 0, 0, 2, 0, 3) | |
| Counter.reset_counts() | |
| mc = MovableCopyable.create() | |
| del mc | |
| Counter.check_counts(2, 1, 0, 0, 1, 3) | |
| # Move semantics not used | |
| Counter.reset_counts() | |
| mc = MovableCopyable.createConst() | |
| del mc | |
| Counter.check_counts(2, 1, 1, 0, 0, 3) | |
| # Input static method | |
| Counter.reset_counts() | |
| mc = MovableCopyable(222) | |
| Counter.check_counts(1, 0, 0, 0, 0, 0) | |
| MovableCopyable.take(mc) | |
| Counter.check_counts(2, 0, 1, 1, 0, 2) | |
| del mc | |
| Counter.check_counts(2, 0, 1, 1, 0, 3) | |
| # Input global function | |
| Counter.reset_counts() | |
| mc = MovableCopyable(333) | |
| Counter.check_counts(1, 0, 0, 0, 0, 0) | |
| global_take_movable_copyable(mc) | |
| Counter.check_counts(2, 0, 1, 1, 0, 2) | |
| del mc | |
| Counter.check_counts(2, 0, 1, 1, 0, 3) | |
| # Input instance method | |
| Counter.reset_counts() | |
| imt = InstanceMethodsTester() | |
| mc = MovableCopyable(444) | |
| Counter.check_counts(1, 0, 0, 0, 0, 0) | |
| imt.instance_take_movable_copyable(mc) | |
| Counter.check_counts(2, 0, 1, 1, 0, 2) | |
| del mc | |
| Counter.check_counts(2, 0, 1, 1, 0, 3) | |
| # Input constructor | |
| Counter.reset_counts() | |
| mc = MovableCopyable(555) | |
| Counter.check_counts(1, 0, 0, 0, 0, 0) | |
| ct = ConstructorTester(mc) | |
| Counter.check_counts(2, 0, 1, 1, 0, 2) | |
| del mc | |
| Counter.check_counts(2, 0, 1, 1, 0, 3) |