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

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