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 parameters:
address

IP address for which this CIDR refers to

prefixBits

number of leading 1s in the routing mask

Companion:
object
Source:
Cidr.scala
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

override def canEqual(other: Any): Boolean
Definition Classes
Source:
Cidr.scala
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
Source:
Cidr.scala
def copy[AA >: A <: IpAddress](address: AA, prefixBits: Int): Cidr[AA]
Source:
Cidr.scala
override def equals(other: Any): Boolean
Definition Classes
Equals -> Any
Source:
Cidr.scala
override def hashCode: Int
Definition Classes
Any
Source:
Cidr.scala
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
Source:
Cidr.scala
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::
Source:
Cidr.scala
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::
Source:
Cidr.scala
override def productArity: Int
Definition Classes
Source:
Cidr.scala
override def productElement(n: Int): Any
Definition Classes
Source:
Cidr.scala
override def toString: String
Definition Classes
Any
Source:
Cidr.scala

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

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

Source:
Cidr.scala

Inherited methods

Inherited from:
Product
Inherited from:
Product
Inherited from:
Product

Concrete fields

val address: A
Source:
Cidr.scala