-
Notifications
You must be signed in to change notification settings - Fork 16
/
wrap_function.output.txt
89 lines (63 loc) · 1.43 KB
/
wrap_function.output.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
>>> EnsurePtr(Func_1)(v.value);
v.value = 10
>>> cout << *EnsurePtr(Func_2)(&v.value);
<T&> unwrap: int&
11
v.value = 11
>>> cout << *EnsurePtr(Func_3)(&v.value);
<const T&> unwrap: const int&
<const T&> wrap: const int&
11
v.value = 11
>>> EnsurePtr(Func_4)(MoveOnlyValue{});
v.value = 11
>>> EnsurePtr(Func_5)(&v.value);
v.value = 11
>>> EnsurePtr(void_ref)(&v.value);
<T&> unwrap: int&
v.value = 21
>>> EnsurePtr(MyClass::Func)(MoveOnlyValue{});
v.value = 21
>>> EnsurePtr(&MyClass::Method)(&c, &v);
<T&> unwrap: MoveOnlyValue&
v.value = 23
>>> EnsurePtr(&MyClass::Method_2)(&c_const, &v);
<const T*> unwrap: MyClass const*
<T&> unwrap: MoveOnlyValue&
v.value = 26
>>> EnsurePtr(std::move(f))(&v);
<T&> unwrap: MoveOnlyValue&
v.value = 30
>>> EnsurePtr(g)(&v);
<T&> unwrap: MoveOnlyValue&
v.value = 35
>>> EnsurePtr(g_const)(&v);
<T&> unwrap: MoveOnlyValue&
v.value = 40
>>> EnsurePtr(Func_6)(&v.value, EnsurePtr(void_ref));
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
v.value = 50
>>> cout << *EnsurePtr(Func_7)(&v.value, EnsurePtr(get_ref));
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
150
v.value = 150
>>> cout << *EnsurePtr(get_ref_nested)(&v.value, EnsurePtr(Func_7));
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
<T&> unwrap: int&
<T&> wrap: int&
1250
v.value = 1250