40 friend constexpr TType &operator ++(TType &lhs) { lhs.value++;
return lhs; }
41 friend constexpr TType &operator --(TType &lhs) { lhs.value--;
return lhs; }
42 friend constexpr TType operator ++(TType &lhs,
int) { TType res = lhs; lhs.value++;
return res; }
43 friend constexpr TType operator --(TType &lhs,
int) { TType res = lhs; lhs.value--;
return res; }
45 friend constexpr TType &operator +=(TType &lhs,
const TType &rhs) { lhs.value += rhs.value;
return lhs; }
46 friend constexpr TType operator +(
const TType &lhs,
const TType &rhs) {
return TType(lhs.value + rhs.value); }
47 friend constexpr TType operator +(
const TType &lhs,
const TBaseType &rhs) {
return TType(lhs.value + rhs); }
49 friend constexpr TType &operator -=(TType &lhs,
const TType &rhs) { lhs.value -= rhs.value;
return lhs; }
50 friend constexpr TType operator -(
const TType &lhs,
const TType &rhs) {
return TType(lhs.value - rhs.value); }
51 friend constexpr TType operator -(
const TType &lhs,
const TBaseType &rhs) {
return TType(lhs.value - rhs); }
59 constexpr TType &operator *=(
const TType &rhs) =
delete;
60 constexpr TType operator *(
const TType &rhs) =
delete;
61 constexpr TType operator *(
const TBaseType &rhs) =
delete;
63 constexpr TType &operator /=(
const TType &rhs) =
delete;
64 constexpr TType operator /(
const TType &rhs) =
delete;
65 constexpr TType operator /(
const TBaseType &rhs) =
delete;
67 constexpr TType &operator %=(
const TType &rhs) =
delete;
68 constexpr TType operator %(
const TType &rhs) =
delete;
69 constexpr TType operator %(
const TBaseType &rhs) =
delete;
71 constexpr TType &operator &=(
const TType &rhs) =
delete;
72 constexpr TType operator &(
const TType &rhs) =
delete;
73 constexpr TType operator &(
const TBaseType &rhs) =
delete;
75 constexpr TType &operator |=(
const TType &rhs) =
delete;
76 constexpr TType operator |(
const TType &rhs) =
delete;
77 constexpr TType operator |(
const TBaseType &rhs) =
delete;
79 constexpr TType &operator ^=(
const TType &rhs) =
delete;
80 constexpr TType operator ^(
const TType &rhs) =
delete;
81 constexpr TType operator ^(
const TBaseType &rhs) =
delete;
83 constexpr TType &operator <<=(
const TType &rhs) =
delete;
84 constexpr TType operator <<(
const TType &rhs) =
delete;
85 constexpr TType operator <<(
const TBaseType &rhs) =
delete;
87 constexpr TType &operator >>=(
const TType &rhs) =
delete;
88 constexpr TType operator >>(
const TType &rhs) =
delete;
89 constexpr TType operator >>(
const TBaseType &rhs) =
delete;
91 constexpr TType operator ~() =
delete;
92 constexpr TType operator -() =
delete;