55 friend constexpr TType &operator ++(TType &lhs) { lhs.value++;
return lhs; }
56 friend constexpr TType &operator --(TType &lhs) { lhs.value--;
return lhs; }
57 friend constexpr TType operator ++(TType &lhs,
int) { TType res = lhs; lhs.value++;
return res; }
58 friend constexpr TType operator --(TType &lhs,
int) { TType res = lhs; lhs.value--;
return res; }
60 friend constexpr TType &operator +=(TType &lhs,
const TType &rhs) { lhs.value += rhs.value;
return lhs; }
61 friend constexpr TType operator +(
const TType &lhs,
const TType &rhs) {
return TType{ lhs.value + rhs.value }; }
62 friend constexpr TType operator +(
const TType &lhs,
const TBaseType &rhs) {
return TType{ lhs.value + rhs }; }
64 friend constexpr TType &operator -=(TType &lhs,
const TType &rhs) { lhs.value -= rhs.value;
return lhs; }
65 friend constexpr TType operator -(
const TType &lhs,
const TType &rhs) {
return TType{ lhs.value - rhs.value }; }
66 friend constexpr TType operator -(
const TType &lhs,
const TBaseType &rhs) {
return TType{ lhs.value - rhs }; }
74 constexpr TType &operator *=(
const TType &rhs) =
delete;
75 constexpr TType operator *(
const TType &rhs) =
delete;
76 constexpr TType operator *(
const TBaseType &rhs) =
delete;
78 constexpr TType &operator /=(
const TType &rhs) =
delete;
79 constexpr TType operator /(
const TType &rhs) =
delete;
80 constexpr TType operator /(
const TBaseType &rhs) =
delete;
82 constexpr TType &operator %=(
const TType &rhs) =
delete;
83 constexpr TType operator %(
const TType &rhs) =
delete;
84 constexpr TType operator %(
const TBaseType &rhs) =
delete;
86 constexpr TType &operator &=(
const TType &rhs) =
delete;
87 constexpr TType operator &(
const TType &rhs) =
delete;
88 constexpr TType operator &(
const TBaseType &rhs) =
delete;
90 constexpr TType &operator |=(
const TType &rhs) =
delete;
91 constexpr TType operator |(
const TType &rhs) =
delete;
92 constexpr TType operator |(
const TBaseType &rhs) =
delete;
94 constexpr TType &operator ^=(
const TType &rhs) =
delete;
95 constexpr TType operator ^(
const TType &rhs) =
delete;
96 constexpr TType operator ^(
const TBaseType &rhs) =
delete;
98 constexpr TType &operator <<=(
const TType &rhs) =
delete;
99 constexpr TType operator <<(
const TType &rhs) =
delete;
100 constexpr TType operator <<(
const TBaseType &rhs) =
delete;
102 constexpr TType &operator >>=(
const TType &rhs) =
delete;
103 constexpr TType operator >>(
const TType &rhs) =
delete;
104 constexpr TType operator >>(
const TBaseType &rhs) =
delete;
106 constexpr TType operator ~() =
delete;
107 constexpr TType operator -() =
delete;