diff --git a/Sources/ContainerizationExtras/CIDRv4.swift b/Sources/ContainerizationExtras/CIDRv4.swift index fb7ead78..7bc7c562 100644 --- a/Sources/ContainerizationExtras/CIDRv4.swift +++ b/Sources/ContainerizationExtras/CIDRv4.swift @@ -16,7 +16,7 @@ /// Describes an IPv4 CIDR address block. @frozen -public struct CIDRv4: CustomStringConvertible, Equatable, Sendable, Hashable { +public struct CIDRv4: CustomStringConvertible, Equatable, Sendable, Hashable, Codable { /// The IP component of this CIDR address. public let address: IPv4Address diff --git a/Sources/ContainerizationExtras/CIDRv6.swift b/Sources/ContainerizationExtras/CIDRv6.swift index 42be276b..32f15b74 100644 --- a/Sources/ContainerizationExtras/CIDRv6.swift +++ b/Sources/ContainerizationExtras/CIDRv6.swift @@ -16,7 +16,7 @@ /// Describes an IPv4 or IPv6 CIDR address block. @frozen -public struct CIDRv6: CustomStringConvertible, Equatable, Sendable, Hashable { +public struct CIDRv6: CustomStringConvertible, Equatable, Sendable, Hashable, Codable { /// The IP component of this CIDR address. public let address: IPv6Address diff --git a/Sources/ContainerizationExtras/IPv4Address.swift b/Sources/ContainerizationExtras/IPv4Address.swift index cfa6caa4..f8cf5be0 100644 --- a/Sources/ContainerizationExtras/IPv4Address.swift +++ b/Sources/ContainerizationExtras/IPv4Address.swift @@ -15,7 +15,7 @@ //===----------------------------------------------------------------------===// @frozen -public struct IPv4Address: Sendable, Hashable, CustomStringConvertible, Equatable, Comparable { +public struct IPv4Address: Sendable, Hashable, CustomStringConvertible, Equatable, Comparable, Codable { public let value: UInt32 @inlinable diff --git a/Sources/ContainerizationExtras/IPv6Address.swift b/Sources/ContainerizationExtras/IPv6Address.swift index e7e82caa..739d846e 100644 --- a/Sources/ContainerizationExtras/IPv6Address.swift +++ b/Sources/ContainerizationExtras/IPv6Address.swift @@ -15,7 +15,7 @@ //===----------------------------------------------------------------------===// /// Represents an IPv6 network address conforming to RFC 5952 and RFC 4291. -public struct IPv6Address: Sendable, Hashable, CustomStringConvertible, Equatable, Comparable { +public struct IPv6Address: Sendable, Hashable, CustomStringConvertible, Equatable, Comparable, Codable { @usableFromInline internal let value: UInt128 diff --git a/Sources/ContainerizationExtras/Prefix.swift b/Sources/ContainerizationExtras/Prefix.swift index b067fba4..c565b9d1 100644 --- a/Sources/ContainerizationExtras/Prefix.swift +++ b/Sources/ContainerizationExtras/Prefix.swift @@ -16,7 +16,7 @@ /// CIDR prefix length (e.g., `/24` for a 24-bit network mask). @frozen -public struct Prefix: Sendable, CustomStringConvertible, Hashable { +public struct Prefix: Sendable, CustomStringConvertible, Hashable, Codable { public let length: UInt8 /// Create a prefix (0-128). Use `ipv4(_:)` or `ipv6(_:)` for version-specific validation.