Files
PVabel2026/RemoteFrameBuffer/Common/RfbProtoVersion.cs

43 lines
1.4 KiB
C#

namespace RemoteFrameBuffer.Common
{
public struct RfbProtoVersion(Int16 major, Int16 minor)
{
public Int16 Major = major;
public Int16 Minor = minor;
public override Boolean Equals(Object? obj) => obj is RfbProtoVersion version && this.Major == version.Major && this.Minor == version.Minor;
public override Int32 GetHashCode() => HashCode.Combine(this.Major, this.Minor);
public static Boolean operator ==(RfbProtoVersion a, RfbProtoVersion b)
{
return (a.Major == b.Major) && (a.Minor == b.Minor);
}
public static Boolean operator !=(RfbProtoVersion a, RfbProtoVersion b)
{
return !(a == b);
}
public static Boolean operator <(RfbProtoVersion a, RfbProtoVersion b)
{
if (a.Major == b.Major)
{
return a.Minor < b.Minor;
} else
{
return a.Major < b.Major;
}
}
public static Boolean operator >(RfbProtoVersion a, RfbProtoVersion b)
{
return b < a;
}
public static Boolean operator <=(RfbProtoVersion a, RfbProtoVersion b)
{
return !(b < a);
}
public static Boolean operator >=(RfbProtoVersion a, RfbProtoVersion b)
{
return !(a < b);
}
}
}