mirror of
https://github.com/beefytech/Beef.git
synced 2025-06-19 16:40:26 +02:00
Removed dot-ctor for nullable
This commit is contained in:
parent
df50100353
commit
1fc6b31ffa
2 changed files with 411 additions and 398 deletions
|
@ -28,7 +28,7 @@ namespace System
|
|||
{
|
||||
if (!mHasValue)
|
||||
{
|
||||
Debug.FatalError("Nullable object must have a value.");
|
||||
Debug.FatalError("Value requested for null nullable.");
|
||||
}
|
||||
|
||||
return mValue;
|
||||
|
@ -42,7 +42,7 @@ namespace System
|
|||
{
|
||||
if (!mHasValue)
|
||||
{
|
||||
Debug.FatalError("Nullable object must have a value.");
|
||||
Debug.FatalError("Value requested for null nullable.");
|
||||
}
|
||||
|
||||
return ref mValue;
|
||||
|
@ -239,17 +239,17 @@ namespace System
|
|||
public static TResult? operator+<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T + TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue + rhs);
|
||||
return Nullable<TResult>(lhs.mValue + rhs);
|
||||
}
|
||||
public static TResult? operator+<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther + T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs + rhs.mValue);
|
||||
return Nullable<TResult>(lhs + rhs.mValue);
|
||||
}
|
||||
public static TResult? operator+<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T + TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue + rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue + rhs.mValue);
|
||||
}
|
||||
|
||||
///
|
||||
|
@ -257,19 +257,19 @@ namespace System
|
|||
public static TResult? operator-<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther - T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs - rhs.mValue);
|
||||
return Nullable<TResult>(lhs - rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator-<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T - TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue - rhs);
|
||||
return Nullable<TResult>(lhs.mValue - rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator-<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T - TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue - rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue - rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -277,19 +277,19 @@ namespace System
|
|||
public static TResult? operator*<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther * T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs * rhs.mValue);
|
||||
return Nullable<TResult>(lhs * rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator*<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T * TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue * rhs);
|
||||
return Nullable<TResult>(lhs.mValue * rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator*<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T * TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue * rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue * rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -297,19 +297,19 @@ namespace System
|
|||
public static TResult? operator/<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther / T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs / rhs.mValue);
|
||||
return Nullable<TResult>(lhs / rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator/<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T / TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue / rhs);
|
||||
return Nullable<TResult>(lhs.mValue / rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator/<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T / TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue / rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue / rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -317,19 +317,19 @@ namespace System
|
|||
public static TResult? operator%<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther % T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs % rhs.mValue);
|
||||
return Nullable<TResult>(lhs % rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator%<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T % TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue % rhs);
|
||||
return Nullable<TResult>(lhs.mValue % rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator%<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T % TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue % rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue % rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -337,19 +337,19 @@ namespace System
|
|||
public static TResult? operator^<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther ^ T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs ^ rhs.mValue);
|
||||
return Nullable<TResult>(lhs ^ rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator^<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T ^ TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue ^ rhs);
|
||||
return Nullable<TResult>(lhs.mValue ^ rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator^<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T ^ TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue ^ rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue ^ rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -357,19 +357,19 @@ namespace System
|
|||
public static TResult? operator&<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther & T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs & rhs.mValue);
|
||||
return Nullable<TResult>(lhs & rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator&<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T & TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue & rhs);
|
||||
return Nullable<TResult>(lhs.mValue & rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator&<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T & TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue & rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue & rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -377,19 +377,19 @@ namespace System
|
|||
public static TResult? operator|<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther | T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs | rhs.mValue);
|
||||
return Nullable<TResult>(lhs | rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator|<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T | TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue | rhs);
|
||||
return Nullable<TResult>(lhs.mValue | rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator|<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T | TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue | rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue | rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -402,19 +402,19 @@ namespace System
|
|||
public static TResult? operator??<TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther ?? T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs ?? rhs.mValue);
|
||||
return Nullable<TResult>(lhs ?? rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator??<TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T ?? TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue ?? rhs);
|
||||
return Nullable<TResult>(lhs.mValue ?? rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator??<TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T ?? TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue ?? rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue ?? rhs.mValue);
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -422,19 +422,19 @@ namespace System
|
|||
public static TResult? operator<< <TOther, TResult>(TOther lhs, Nullable<T> rhs) where TResult = operator TOther << T where TResult : struct
|
||||
{
|
||||
if (!rhs.mHasValue) return null;
|
||||
return .(lhs << rhs.mValue);
|
||||
return Nullable<TResult>(lhs << rhs.mValue);
|
||||
}
|
||||
|
||||
public static TResult? operator<< <TOther, TResult>(Nullable<T> lhs, TOther rhs) where TResult = operator T << TOther where TResult : struct
|
||||
{
|
||||
if (!lhs.mHasValue) return null;
|
||||
return .(lhs.mValue << rhs);
|
||||
return Nullable<TResult>(lhs.mValue << rhs);
|
||||
}
|
||||
|
||||
public static TResult? operator<< <TOther, TResult>(Nullable<T> lhs, Nullable<TOther> rhs) where TOther : struct where TResult = operator T << TOther where TResult : struct
|
||||
{
|
||||
if ((!lhs.mHasValue) || (!rhs.mHasValue)) return null;
|
||||
return .(lhs.mValue << rhs.mValue);
|
||||
return Nullable<TResult>(lhs.mValue << rhs.mValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue