Cidr

com.comcast.ip4s.Cidr
See theCidr companion object
final class Cidr[+A <: IpAddress] extends Product with Serializable

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

Attributes

address

IP address for which this CIDR refers to

prefixBits

number of leading 1s in the routing mask

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

Members list

Concise view

Value members

Concrete methods

override def canEqual(other: Any): Boolean

Attributes

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.

Attributes

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]

Attributes

Source:
Cidr.scala
override def equals(other: Any): Boolean

Compares the receiver object (this) with the argument object (that) for equivalence.

Compares the receiver object (this) with the argument object (that) for equivalence.

Any implementation of this method should be an equivalence relation:

  • It is reflexive: for any instance x of type Any, x.equals(x) should return true.
  • It is symmetric: for any instances x and y of type Any, x.equals(y) should return true if and only if y.equals(x) returns true.
  • It is transitive: for any instances x, y, and z of type Any if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override hashCode to ensure that objects which are "equal" (o1.equals(o2) returns true) hash to the same scala.Int. (o1.hashCode.equals(o2.hashCode)).

Attributes

that

the object to compare against this object for equality.

Returns:

true if the receiver object is equivalent to the argument; false otherwise.

Definition Classes
Equals -> Any
Source:
Cidr.scala
override def hashCode: Int

Calculate a hash code value for the object.

Calculate a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (o1.hashCode.equals(o2.hashCode)) yet not be equal (o1.equals(o2) returns false). A degenerate implementation could always return 0. However, it is required that if two objects are equal (o1.equals(o2) returns true) that they have identical hash codes (o1.hashCode.equals(o2.hashCode)). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the equals method.

Attributes

Returns:

the hash code value for this object.

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.

Attributes

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.

Attributes

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.

Attributes

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

Attributes

Definition Classes
Source:
Cidr.scala
override def productElement(n: Int): Any

Attributes

Definition Classes
Source:
Cidr.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

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.

Attributes

Source:
Cidr.scala

Inherited methods

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Concrete fields

val address: A

Attributes

Source:
Cidr.scala

Attributes

Source:
Cidr.scala