Module uk.ipfreely

Interface AddressSet<A extends Addr<A>>

Type Parameters:
A - address type
All Superinterfaces:
Iterable<A>
All Known Subinterfaces:
Block<A>, Range<A>

public interface AddressSet<A extends Addr<A>> extends Iterable<A>

Discrete ordered set interface of zero to Family.max() Addresses.

AddressSet is tightly coupled to Range and Block. Implementations MUST be immutable. Iteration methods MUST produce values from least to greatest.

AddressSet Contracts
Interface Must Be Implemented When Set...
Block ...forms a valid RFC4632 CIDR block.
Range ...is contiguous range.
AddressSet ...is made up of non-contiguous ranges or is the empty set.