Table of Contents

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

ip1 byte
ip2 byte
ip3 byte
ip4 byte
mask byte

IPv4Range(IPAddress, byte)

public IPv4Range(IPAddress ipAddress, byte mask = 32)

Parameters

ipAddress IPAddress
mask byte

IPv4Range(uint, byte)

public IPv4Range(uint packedIp, byte mask = 32)

Parameters

packedIp uint
mask byte

Fields

LocalIpRanges

public static readonly IPv4Range[] LocalIpRanges

Field Value

IPv4Range[]

Loopback

public static readonly IPv4Range Loopback

Field Value

IPv4Range

Mask

0-32 bit shift for filtering a range of IP addresses.

public readonly byte Mask

Field Value

byte

PackedIP

Little endian composite of an IP address.

public readonly uint PackedIP

Field Value

uint

PackedLoopback

public const uint PackedLoopback = 2130706433

Field Value

uint

Properties

IncludedIPs

Number of IP addresses in this range.

public uint IncludedIPs { get; }

Property Value

uint

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

other IPv4Range

An 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:
Value

Meaning

Less than zero

This instance precedes other in the sort order.

Zero

This instance occurs in the same position in the sort order as other.

Greater than zero

This instance follows other in the sort order.

CountIncludedIPs(IEnumerable<IPv4Range>)

public static long CountIncludedIPs(IEnumerable<IPv4Range> ranges)

Parameters

ranges IEnumerable<IPv4Range>

Returns

long

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and 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

other IPv4Range

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

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

ranges IEnumerable<IPv4Range>

Returns

List<IPv4Range>

IPEquals(IPv4Range)

public bool IPEquals(IPv4Range other)

Parameters

other IPv4Range

Returns

bool

InRange(byte[])

public bool InRange(byte[] ipv4)

Parameters

ipv4 byte[]

Returns

bool

InRange(IPAddress)

public bool InRange(IPAddress address)

Parameters

address IPAddress

Returns

bool

InRange(ReadOnlySpan<char>)

public bool InRange(ReadOnlySpan<char> ipv4)

Parameters

ipv4 ReadOnlySpan<char>

Returns

bool

InRange(uint)

public bool InRange(uint packedIp)

Parameters

packedIp uint

Returns

bool

IsLocalIP(uint)

public static bool IsLocalIP(uint packed)

Parameters

packed uint

Returns

bool

IsLocalIP(IPv4Range)

public static bool IsLocalIP(IPv4Range ip)

Parameters

ip IPv4Range

Returns

bool

Pack(IPAddress)

public static uint Pack(IPAddress address)

Parameters

address IPAddress

Returns

uint

Parse(ReadOnlySpan<char>)

public static IPv4Range Parse(ReadOnlySpan<char> str)

Parameters

str ReadOnlySpan<char>

Returns

IPv4Range

Parse(ReadOnlySpan<char>, IFormatProvider?)

public static IPv4Range Parse(ReadOnlySpan<char> str, IFormatProvider? formatProvider)

Parameters

str ReadOnlySpan<char>
formatProvider IFormatProvider

Returns

IPv4Range

Parse(string, IFormatProvider?)

public static IPv4Range Parse(string s, IFormatProvider? provider)

Parameters

s string
provider IFormatProvider

Returns

IPv4Range

ParseIPv4(ReadOnlySpan<char>)

public static IPv4Range ParseIPv4(ReadOnlySpan<char> str)

Parameters

str ReadOnlySpan<char>

Returns

IPv4Range

ParseIPv4(ReadOnlySpan<char>, IFormatProvider?)

public static IPv4Range ParseIPv4(ReadOnlySpan<char> str, IFormatProvider? formatProvider)

Parameters

str ReadOnlySpan<char>
formatProvider IFormatProvider

Returns

IPv4Range

ToIPv4String()

public string ToIPv4String()

Returns

string

ToIPv4String(IFormatProvider?)

public string ToIPv4String(IFormatProvider? formatProvider)

Parameters

formatProvider IFormatProvider

Returns

string

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

formatProvider IFormatProvider

Returns

string

ToString(string?, IFormatProvider?)

Formats the value of the current instance using the specified format.

public string ToString(string? format, IFormatProvider? formatProvider)

Parameters

format string

The format to use.
-or-
A null reference (Nothing in Visual Basic) to use the default format defined for the type of the IFormattable implementation.

formatProvider IFormatProvider

The provider to use to format the value.
-or-
A null reference (Nothing in 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

destination Span<char>
charsWritten int
provider IFormatProvider

Returns

bool

TryFormat(Span<char>, out int, ReadOnlySpan<char>, IFormatProvider?)

public bool TryFormat(Span<char> destination, out int charsWritten, ReadOnlySpan<char> format, IFormatProvider? provider)

Parameters

destination Span<char>
charsWritten int
format ReadOnlySpan<char>
provider IFormatProvider

Returns

bool

TryFormatIPv4(Span<char>, out int, IFormatProvider?)

public bool TryFormatIPv4(Span<char> destination, out int charsWritten, IFormatProvider? provider)

Parameters

destination Span<char>
charsWritten int
provider IFormatProvider

Returns

bool

TryParse(ReadOnlySpan<char>, IFormatProvider?, out IPv4Range)

public static bool TryParse(ReadOnlySpan<char> str, IFormatProvider? formatProvider, out IPv4Range range)

Parameters

str ReadOnlySpan<char>
formatProvider IFormatProvider
range IPv4Range

Returns

bool

TryParse(ReadOnlySpan<char>, out IPv4Range)

public static bool TryParse(ReadOnlySpan<char> str, out IPv4Range range)

Parameters

str ReadOnlySpan<char>
range IPv4Range

Returns

bool

TryParse(string?, IFormatProvider?, out IPv4Range)

public static bool TryParse(string? s, IFormatProvider? provider, out IPv4Range result)

Parameters

s string
provider IFormatProvider
result IPv4Range

Returns

bool

TryParseIPv4(ReadOnlySpan<char>, IFormatProvider?, out IPv4Range)

public static bool TryParseIPv4(ReadOnlySpan<char> str, IFormatProvider? formatProvider, out IPv4Range range)

Parameters

str ReadOnlySpan<char>
formatProvider IFormatProvider
range IPv4Range

Returns

bool

TryParseIPv4(ReadOnlySpan<char>, out IPv4Range)

public static bool TryParseIPv4(ReadOnlySpan<char> str, out IPv4Range range)

Parameters

str ReadOnlySpan<char>
range IPv4Range

Returns

bool

Unpack(uint)

public static IPAddress Unpack(uint address)

Parameters

address uint

Returns

IPAddress

Operators

operator ==(IPv4Range, IPv4Range)

public static bool operator ==(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool

operator >(IPv4Range, IPv4Range)

public static bool operator >(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool

operator >=(IPv4Range, IPv4Range)

public static bool operator >=(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool

operator !=(IPv4Range, IPv4Range)

public static bool operator !=(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool

operator <(IPv4Range, IPv4Range)

public static bool operator <(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool

operator <=(IPv4Range, IPv4Range)

public static bool operator <=(IPv4Range left, IPv4Range right)

Parameters

left IPv4Range
right IPv4Range

Returns

bool