Test copy constructor and assignment operator calls for movable types

This is the current state of play where the copy constructor and copy
assignment operators are called, even for movable types passed as
function parameters.
This commit is contained in:
William S Fulton 2022-07-08 08:01:55 +01:00
commit 1ece69cafd
4 changed files with 37 additions and 0 deletions

View file

@ -4,6 +4,8 @@ using cpp11_move_onlyNamespace;
public class cpp11_move_only_runme {
public static void Main() {
// Output
Counter.reset_counts();
using (MoveOnly mo = MoveOnly.create()) {
}
@ -19,5 +21,14 @@ public class cpp11_move_only_runme {
using (MovableCopyable mo = MovableCopyable.createConst()) {
}
Counter.check_counts(2, 1, 1, 0, 0, 3);
// Input
Counter.reset_counts();
using (MovableCopyable mo = new MovableCopyable(222)) {
Counter.check_counts(1, 0, 0, 0, 0, 0);
MovableCopyable.take(mo);
Counter.check_counts(2, 1, 1, 0, 0, 2);
}
Counter.check_counts(2, 1, 1, 0, 0, 3);
}
}