mirror of https://github.com/swig/swig
65 lines
1.9 KiB
C#
65 lines
1.9 KiB
C#
using System;
|
|
using cpp11_move_onlyNamespace;
|
|
|
|
public class cpp11_move_only_runme {
|
|
|
|
public static void Main() {
|
|
// Output
|
|
Counter.reset_counts();
|
|
using (MoveOnly mo = MoveOnly.create()) {
|
|
}
|
|
Counter.check_counts(1, 0, 0, 2, 0, 3);
|
|
|
|
Counter.reset_counts();
|
|
using (MovableCopyable mc = MovableCopyable.create()) {
|
|
}
|
|
Counter.check_counts(2, 1, 0, 0, 1, 3);
|
|
|
|
// Move semantics not used
|
|
Counter.reset_counts();
|
|
using (MovableCopyable mc = MovableCopyable.createConst()) {
|
|
}
|
|
Counter.check_counts(2, 1, 1, 0, 0, 3);
|
|
|
|
// Input static method
|
|
Counter.reset_counts();
|
|
using (MovableCopyable mc = new MovableCopyable(222)) {
|
|
Counter.check_counts(1, 0, 0, 0, 0, 0);
|
|
MovableCopyable.take(mc);
|
|
Counter.check_counts(2, 0, 1, 1, 0, 2);
|
|
}
|
|
Counter.check_counts(2, 0, 1, 1, 0, 3);
|
|
|
|
// Input global function
|
|
Counter.reset_counts();
|
|
using (MovableCopyable mc = new MovableCopyable(333)) {
|
|
Counter.check_counts(1, 0, 0, 0, 0, 0);
|
|
cpp11_move_only.global_take_movable_copyable(mc);
|
|
Counter.check_counts(2, 0, 1, 1, 0, 2);
|
|
}
|
|
Counter.check_counts(2, 0, 1, 1, 0, 3);
|
|
|
|
// Input instance method
|
|
Counter.reset_counts();
|
|
using (InstanceMethodsTester imt = new InstanceMethodsTester()) {
|
|
using (MovableCopyable mc = new 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);
|
|
}
|
|
Counter.check_counts(2, 0, 1, 1, 0, 3);
|
|
}
|
|
|
|
// Input constructor
|
|
Counter.reset_counts();
|
|
using (MovableCopyable mc = new MovableCopyable(555)) {
|
|
Counter.check_counts(1, 0, 0, 0, 0, 0);
|
|
using (ConstructorTester ct = new ConstructorTester(mc)) {
|
|
Counter.check_counts(2, 0, 1, 1, 0, 2);
|
|
}
|
|
Counter.check_counts(2, 0, 1, 1, 0, 2);
|
|
}
|
|
Counter.check_counts(2, 0, 1, 1, 0, 3);
|
|
}
|
|
}
|