Cidr

final class Cidr[+A <: IpAddress] extends Product with Serializable

Classless Inter-Domain Routing address, which represents an IP address and its routing prefix.

Classless Inter-Domain Routing address, which represents an IP address and its routing prefix.

Value Params
address

IP address for which this CIDR refers to

prefixBits

number of leading 1s in the routing mask

Companion
object
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

override def canEqual(other: Any): Boolean
Definition Classes
Equals
def contains[AA >: A <: IpAddress]: AA => Boolean

Returns a predicate which tests if the supplied address is in the range described by this CIDR.

Returns a predicate which tests if the supplied address is in the range described by this CIDR.

Example
scala> Cidr(ipv4"10.11.12.13", 8).contains(ipv4"10.100.100.100")
res0: Boolean = true
scala> Cidr(ipv4"10.11.12.13", 8).contains(ipv4"11.100.100.100")
res1: Boolean = false
scala> val x = Cidr(ipv6"2001:db8:abcd:12::", 96).contains
scala> x(ipv6"2001:db8:abcd:12::5")
res2: Boolean = true
scala> x(ipv6"2001:db8::")
res3: Boolean = false
def copy[AA >: A <: IpAddress](address: AA, prefixBits: Int): Cidr[AA]
override def equals(other: Any): Boolean
Definition Classes
Equals -> Any
override def hashCode: Int
Definition Classes
Any
def last: A

Returns the last address in the range described by this CIDR.

Returns the last address in the range described by this CIDR.

Example
scala> Cidr(ipv4"10.11.12.13", 8).last
res0: Ipv4Address = 10.255.255.255
scala> Cidr(ipv6"2001:db8:abcd:12::", 96).last
res1: Ipv6Address = 2001:db8:abcd:12::ffff:ffff
scala> Cidr(ipv6"2001:db8:abcd:12::", 32).last
res2: Ipv6Address = 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff
def mask: A

Returns the routing mask.

Returns the routing mask.

Example
scala> Cidr(ipv4"10.11.12.13", 8).mask
res0: Ipv4Address = 255.0.0.0
scala> Cidr(ipv6"2001:db8:abcd:12::", 96).mask
res1: Ipv6Address = ffff:ffff:ffff:ffff:ffff:ffff::
def prefix: A

Returns the routing prefix.

Returns the routing prefix.

Note: the routing prefix also serves as the first address in the range described by this CIDR.

Example
scala> Cidr(ipv4"10.11.12.13", 8).prefix
res0: Ipv4Address = 10.0.0.0
scala> Cidr(ipv6"2001:db8:abcd:12::", 96).prefix
res1: Ipv6Address = 2001:db8:abcd:12::
scala> Cidr(ipv6"2001:db8:abcd:12::", 32).prefix
res2: Ipv6Address = 2001:db8::
override def productArity: Int
Definition Classes
Product
override def productElement(n: Int): Any
Definition Classes
Product
override def toString: String
Definition Classes
Any
def totalIps: BigInt

Returns the number of addresses in the range described by this CIDR.

Returns the number of addresses in the range described by this CIDR.

Inherited methods

def productElementName(n: Int): String
Inherited from
Product
def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
def productPrefix: String
Inherited from
Product

Concrete fields

val address: A
val prefixBits: Int