Struct IPv4Range
- Namespace
- Uncreated.Warfare.Networking
- Assembly
- Uncreated.Warfare.dll
IPv4 with a mask used for filtering IP owners.
public readonly struct IPv4Range : IEquatable<IPv4Range>, IComparable<IPv4Range>, IFormattable
- Implements
- Inherited Members
Constructors
IPv4Range(byte, byte, byte, byte, byte)
public IPv4Range(byte ip1, byte ip2, byte ip3, byte ip4, byte mask = 32)
Parameters
IPv4Range(IPAddress, byte)
public IPv4Range(IPAddress ipAddress, byte mask = 32)
Parameters
IPv4Range(uint, byte)
public IPv4Range(uint packedIp, byte mask = 32)
Parameters
Fields
LocalIpRanges
public static readonly IPv4Range[] LocalIpRanges
Field Value
Loopback
public static readonly IPv4Range Loopback
Field Value
Mask
0-32 bit shift for filtering a range of IP addresses.
public readonly byte Mask
Field Value
PackedIP
Little endian composite of an IP address.
public readonly uint PackedIP
Field Value
PackedLoopback
public const uint PackedLoopback = 2130706433
Field Value
Properties
IncludedIPs
Number of IP addresses in this range.
public uint IncludedIPs { get; }
Property Value
Methods
CompareTo(IPv4Range)
Compares the current instance with another object of the same type and returns an integer that indicates whether the current instance precedes, follows, or occurs in the same position in the sort order as the other object.
public int CompareTo(IPv4Range other)
Parameters
otherIPv4RangeAn object to compare with this instance.
Returns
- int
A value that indicates the relative order of the objects being compared. The return value has these meanings:
ValueMeaning
Less than zero
This instance precedes
otherin the sort order.Zero
This instance occurs in the same position in the sort order as
other.Greater than zero
This instance follows
otherin the sort order.
CountIncludedIPs(IEnumerable<IPv4Range>)
public static long CountIncludedIPs(IEnumerable<IPv4Range> ranges)
Parameters
rangesIEnumerable<IPv4Range>
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current instance.
Returns
- bool
true if
objand this instance are the same type and represent the same value; otherwise, false.
Equals(IPv4Range)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(IPv4Range other)
Parameters
otherIPv4RangeAn object to compare with this object.
Returns
GetHashCode()
Returns the hash code for this instance.
public override int GetHashCode()
Returns
- int
A 32-bit signed integer that is the hash code for this instance.
GetNonOverlappingIPs(IEnumerable<IPv4Range>)
public static List<IPv4Range> GetNonOverlappingIPs(IEnumerable<IPv4Range> ranges)
Parameters
rangesIEnumerable<IPv4Range>
Returns
IPEquals(IPv4Range)
public bool IPEquals(IPv4Range other)
Parameters
otherIPv4Range
Returns
InRange(byte[])
public bool InRange(byte[] ipv4)
Parameters
ipv4byte[]
Returns
InRange(IPAddress)
public bool InRange(IPAddress address)
Parameters
addressIPAddress
Returns
InRange(ReadOnlySpan<char>)
public bool InRange(ReadOnlySpan<char> ipv4)
Parameters
ipv4ReadOnlySpan<char>
Returns
InRange(uint)
public bool InRange(uint packedIp)
Parameters
packedIpuint
Returns
IsLocalIP(uint)
public static bool IsLocalIP(uint packed)
Parameters
packeduint
Returns
IsLocalIP(IPv4Range)
public static bool IsLocalIP(IPv4Range ip)
Parameters
ipIPv4Range
Returns
Pack(IPAddress)
public static uint Pack(IPAddress address)
Parameters
addressIPAddress
Returns
Parse(ReadOnlySpan<char>)
public static IPv4Range Parse(ReadOnlySpan<char> str)
Parameters
strReadOnlySpan<char>
Returns
Parse(ReadOnlySpan<char>, IFormatProvider?)
public static IPv4Range Parse(ReadOnlySpan<char> str, IFormatProvider? formatProvider)
Parameters
strReadOnlySpan<char>formatProviderIFormatProvider
Returns
Parse(string, IFormatProvider?)
public static IPv4Range Parse(string s, IFormatProvider? provider)
Parameters
sstringproviderIFormatProvider
Returns
ParseIPv4(ReadOnlySpan<char>)
public static IPv4Range ParseIPv4(ReadOnlySpan<char> str)
Parameters
strReadOnlySpan<char>
Returns
ParseIPv4(ReadOnlySpan<char>, IFormatProvider?)
public static IPv4Range ParseIPv4(ReadOnlySpan<char> str, IFormatProvider? formatProvider)
Parameters
strReadOnlySpan<char>formatProviderIFormatProvider
Returns
ToIPv4String()
public string ToIPv4String()
Returns
ToIPv4String(IFormatProvider?)
public string ToIPv4String(IFormatProvider? formatProvider)
Parameters
formatProviderIFormatProvider
Returns
ToString()
Returns the fully qualified type name of this instance.
public override string ToString()
Returns
- string
The fully qualified type name.
ToString(IFormatProvider?)
public string ToString(IFormatProvider? formatProvider)
Parameters
formatProviderIFormatProvider
Returns
ToString(string?, IFormatProvider?)
Formats the value of the current instance using the specified format.
public string ToString(string? format, IFormatProvider? formatProvider)
Parameters
formatstringThe format to use.
-or-
A null reference (Nothingin Visual Basic) to use the default format defined for the type of the IFormattable implementation.formatProviderIFormatProviderThe provider to use to format the value.
-or-
A null reference (Nothingin Visual Basic) to obtain the numeric format information from the current locale setting of the operating system.
Returns
- string
The value of the current instance in the specified format.
TryFormat(Span<char>, out int, IFormatProvider?)
public bool TryFormat(Span<char> destination, out int charsWritten, IFormatProvider? provider)
Parameters
destinationSpan<char>charsWrittenintproviderIFormatProvider
Returns
TryFormat(Span<char>, out int, ReadOnlySpan<char>, IFormatProvider?)
public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider)
Parameters
destinationSpan<char>charsWrittenintformatReadOnlySpan<char>providerIFormatProvider
Returns
TryFormatIPv4(Span<char>, out int, IFormatProvider?)
public bool TryFormatIPv4(Span<char> destination, out int charsWritten, IFormatProvider? provider)
Parameters
destinationSpan<char>charsWrittenintproviderIFormatProvider
Returns
TryParse(ReadOnlySpan<char>, IFormatProvider?, out IPv4Range)
public static bool TryParse(ReadOnlySpan<char> str, IFormatProvider? formatProvider, out IPv4Range range)
Parameters
strReadOnlySpan<char>formatProviderIFormatProviderrangeIPv4Range
Returns
TryParse(ReadOnlySpan<char>, out IPv4Range)
public static bool TryParse(ReadOnlySpan<char> str, out IPv4Range range)
Parameters
strReadOnlySpan<char>rangeIPv4Range
Returns
TryParse(string?, IFormatProvider?, out IPv4Range)
public static bool TryParse(string? s, IFormatProvider? provider, out IPv4Range result)
Parameters
sstringproviderIFormatProviderresultIPv4Range
Returns
TryParseIPv4(ReadOnlySpan<char>, IFormatProvider?, out IPv4Range)
public static bool TryParseIPv4(ReadOnlySpan<char> str, IFormatProvider? formatProvider, out IPv4Range range)
Parameters
strReadOnlySpan<char>formatProviderIFormatProviderrangeIPv4Range
Returns
TryParseIPv4(ReadOnlySpan<char>, out IPv4Range)
public static bool TryParseIPv4(ReadOnlySpan<char> str, out IPv4Range range)
Parameters
strReadOnlySpan<char>rangeIPv4Range
Returns
Unpack(uint)
public static IPAddress Unpack(uint address)
Parameters
addressuint
Returns
Operators
operator ==(IPv4Range, IPv4Range)
public static bool operator ==(IPv4Range left, IPv4Range right)
Parameters
Returns
operator >(IPv4Range, IPv4Range)
public static bool operator >(IPv4Range left, IPv4Range right)
Parameters
Returns
operator >=(IPv4Range, IPv4Range)
public static bool operator >=(IPv4Range left, IPv4Range right)
Parameters
Returns
operator !=(IPv4Range, IPv4Range)
public static bool operator !=(IPv4Range left, IPv4Range right)
Parameters
Returns
operator <(IPv4Range, IPv4Range)
public static bool operator <(IPv4Range left, IPv4Range right)
Parameters
Returns
operator <=(IPv4Range, IPv4Range)
public static bool operator <=(IPv4Range left, IPv4Range right)