Cidr

final class Cidr[+A <: IpAddress] extends Product with Serializable
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

Methods

def copy[AA >: A <: IpAddress](address: AA, prefixBits: Int): Cidr[AA]
def mask: A
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.
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::
}}}
def last: A
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 totalIps: BigInt
Returns the number of addresses in the range described by this CIDR.
def contains[AA >: A <: IpAddress]: AA => Boolean
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
}}}
override def toString: String
Definition Classes
Any
override def hashCode: Int
Definition Classes
Any
override def equals(other: Any): Boolean
Definition Classes
Equals -> Any
override def canEqual(other: Any): Boolean
Definition Classes
Equals
override def productArity: Int
Definition Classes
Product
override def productElement(n: Int): Any
Definition Classes
Product

Fields

val address: A
val prefixBits: Int

Inherited methods

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