Compiler:  Microsoft CL v1944 (full: v194435219)
Language:  C++ v202002
C++ language version: C++20
+ operator <=> (spaceship) supported? --> YES
std::format supported? -----------------> YES
---------------------------------------

 --> T(11) / (constructor)
 --> T(21) / (constructor)
 --> T(31) / (constructor)
 --> T(41) / (constructor)
 --> T(51) / (constructor)
 --> T(61) / (constructor)
 --> T(71) / (constructor)
 --> T(81) / (constructor)
 --> T(91) / (constructor)
11/21 / 71/81
 --> operator ==(11) / rhs:(21)
true  --> operator !=(11) / rhs:(21)
false  --> operator <(11) / rhs:(21)
false  --> operator <=(11) / rhs:(21)
true  --> operator >(11) / rhs:(21)
false  --> operator >=(11) / rhs:(21)
true  --> operator <=>(11) / rhs:(21)
equal
---------------------------------------


---------------------------------------
____________-- expression:   t1 + t2

 --> operator +(11) / rhs:(21)
 --> T(102) / (constructor)

resulting value:   0 --> operator <<(102) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 + t2
---------------------------------------

 --> ~T(102)

---------------------------------------
____________-- expression:   t1 - t2

 --> operator -(11) / rhs:(21)
 --> T(113) / (copy constructor)

resulting value:   0 --> operator <<(113) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 - t2
---------------------------------------

 --> ~T(113)

---------------------------------------
____________-- expression:   t1 * t2

 --> operator *(11) / rhs:(21)
 --> T(122) / (constructor)

resulting value:   0 --> operator <<(122) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 * t2
---------------------------------------

 --> ~T(122)

---------------------------------------
____________-- expression:   t1 / t2

 --> operator /(11) / rhs:(21)
 --> T(132) / (constructor)

resulting value:   0 --> operator <<(132) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 / t2
---------------------------------------

 --> ~T(132)

---------------------------------------
____________-- expression:   t1 % t2

 --> operator %(11) / rhs:(21)
 --> T(142) / (constructor)

resulting value:   0 --> operator <<(142) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 % t2
---------------------------------------

 --> ~T(142)

---------------------------------------
____________-- expression:   t1 ^ t2

 --> operator ^(11) / rhs:(21)
 --> T(152) / (constructor)

resulting value:   0 --> operator <<(152) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 ^ t2
---------------------------------------

 --> ~T(152)

---------------------------------------
____________-- expression:   t1 & t2

 --> operator &(11) / rhs:(21)
 --> T(162) / (constructor)

resulting value:   0 --> operator <<(162) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 & t2
---------------------------------------

 --> ~T(162)

---------------------------------------
____________-- expression:   t1 | t2

 --> operator |(11) / rhs:(21)
 --> T(172) / (constructor)

resulting value:   0 --> operator <<(172) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 | t2
---------------------------------------

 --> ~T(172)

---------------------------------------
____________-- expression:   ~t1

 --> operator ~(11)
 --> T(182) / (constructor)

resulting value:   0 --> operator <<(182) / (ostream insertion)

^^^^^^^^^^^^-- output for:   ~t1
---------------------------------------

 --> ~T(182)

---------------------------------------
____________-- expression:   !t1

 --> operator !(11)

resulting value:   false
^^^^^^^^^^^^-- output for:   !t1
---------------------------------------


---------------------------------------
____________-- expression:   t1 < t2

 --> operator <(11) / rhs:(21)

resulting value:   false
^^^^^^^^^^^^-- output for:   t1 < t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 <= t2

 --> operator <=(11) / rhs:(21)

resulting value:   true
^^^^^^^^^^^^-- output for:   t1 <= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 == t2

 --> operator ==(11) / rhs:(21)

resulting value:   true
^^^^^^^^^^^^-- output for:   t1 == t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 != t2

 --> operator !=(11) / rhs:(21)

resulting value:   false
^^^^^^^^^^^^-- output for:   t1 != t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 >= t2

 --> operator >=(11) / rhs:(21)

resulting value:   true
^^^^^^^^^^^^-- output for:   t1 >= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 > t2

 --> operator >(11) / rhs:(21)

resulting value:   false
^^^^^^^^^^^^-- output for:   t1 > t2
---------------------------------------


---------------------------------------
____________-- expression:   ordering_as_string(t1 <=> t2)

 --> operator <=>(11) / rhs:(21)

resulting value:   equal
^^^^^^^^^^^^-- output for:   ordering_as_string(t1 <=> t2)
---------------------------------------


---------------------------------------
____________-- expression:   t1 += t2

 --> operator +=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 += t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 -= t2


resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 -= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 *= t2

 --> operator *=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 *= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 /= t2

 --> operator /=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 /= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 %= t2

 --> operator %=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 %= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 ^= t2

 --> operator ^=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 ^= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 &= t2

 --> operator &=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 &= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 |= t2

 --> operator |=(11) / rhs:(21)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 |= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 << t2

 --> operator unsigned __int64(21)
 --> operator <<(11) / offset:0
 --> T(192) / (constructor)

resulting value:   0 --> operator <<(192) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 << t2
---------------------------------------

 --> ~T(192)

---------------------------------------
____________-- expression:   t1 >> t2

 --> operator unsigned __int64(21)
 --> operator >>(11) / offset:0
 --> T(202) / (constructor)

resulting value:   0 --> operator <<(202) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 >> t2
---------------------------------------

 --> ~T(202)

---------------------------------------
____________-- expression:   t1 <<= t2

 --> operator unsigned __int64(21)
 --> operator <<=(11) / offset:0

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 <<= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1 >>= t2

 --> operator unsigned __int64(21)
 --> operator >>=(11) / offset:0

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1 >>= t2
---------------------------------------


---------------------------------------
____________-- expression:   t1++

 --> operator ++(11) / (postfix ++)
 --> T(213) / (copy constructor)

resulting value:   0 --> operator <<(213) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1++
---------------------------------------

 --> ~T(213)

---------------------------------------
____________-- expression:   ++t1

 --> operator ++(11) / (prefix ++)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   ++t1
---------------------------------------


---------------------------------------
____________-- expression:   t1--

 --> operator --(11) / (postfix --)
 --> T(223) / (copy constructor)

resulting value:   0 --> operator <<(223) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1--
---------------------------------------

 --> ~T(223)

---------------------------------------
____________-- expression:   --t1

 --> operator --(11) / (prefix --)

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   --t1
---------------------------------------


---------------------------------------
____________-- expression:   t1 && t2 && t3 && t4 && t5 && t6

 --> operator &&(11) / rhs:(21)
 --> operator &&(---) / (special EXTRA bool && T overload) / rhs:(31)
 --> operator &&(---) / (special EXTRA bool && T overload) / rhs:(41)
 --> operator &&(---) / (special EXTRA bool && T overload) / rhs:(51)
 --> operator &&(---) / (special EXTRA bool && T overload) / rhs:(61)

resulting value:   false
^^^^^^^^^^^^-- output for:   t1 && t2 && t3 && t4 && t5 && t6
---------------------------------------


---------------------------------------
____________-- expression:   t1 || t2 || t3 || t4 || t5 || t6

 --> operator ||(11) / rhs:(21)
 --> operator ||(---) / (special EXTRA bool && T overload) / rhs:(31)
 --> operator ||(---) / (special EXTRA bool && T overload) / rhs:(41)
 --> operator ||(---) / (special EXTRA bool && T overload) / rhs:(51)
 --> operator ||(---) / (special EXTRA bool && T overload) / rhs:(61)

resulting value:   true
^^^^^^^^^^^^-- output for:   t1 || t2 || t3 || t4 || t5 || t6
---------------------------------------


---------------------------------------
____________-- expression:   t1[0]

 --> operator [](11) / pos:0

resulting value:   0 --> operator <<(11) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t1[0]
---------------------------------------


---------------------------------------
____________-- expression:   t1(1)

 --> operator ()(11) / arg1:1

resulting value:   0
^^^^^^^^^^^^-- output for:   t1(1)
---------------------------------------


---------------------------------------
____________-- expression:   t1->a

 --> operator ->(11)

resulting value:   0
^^^^^^^^^^^^-- output for:   t1->a
---------------------------------------


---------------------------------------
____________-- expression:   &t1

 --> operator &(11)

resulting value:   00000011074FF5A0
^^^^^^^^^^^^-- output for:   &t1
---------------------------------------


---------------------------------------
____________-- expression:   (t1, t2)

 --> operator int(21)
 --> operator ,(11)
 --> T(233) / (copy constructor)

resulting value:   0 --> operator <<(233) / (ostream insertion)

^^^^^^^^^^^^-- output for:   (t1, t2)
---------------------------------------

 --> ~T(233)

---------------------------------------
____________-- expression:   long(t1)

 --> operator long(11)

resulting value:   0
^^^^^^^^^^^^-- output for:   long(t1)
---------------------------------------


---------------------------------------
____________-- expression:   t3 = t1

 --> operator =(31) / rhs:(11)
 --> T(243) / (copy constructor)

resulting value:   0 --> operator <<(243) / (ostream insertion)

^^^^^^^^^^^^-- output for:   t3 = t1
---------------------------------------

 --> ~T(243)
 --> ~T(91)
 --> ~T(81)
 --> ~T(71)
 --> ~T(61)
 --> ~T(51)
 --> ~T(41)
 --> ~T(31)
 --> ~T(21)
 --> ~T(11)


Done!
