Strict

com.comcast.ip4s.Cidr.Strict
See theStrict companion object
final class Strict[+A <: IpAddress] extends Cidr[A]

A normalized cidr range, of which the address is identical to the prefix.

This means the address will never have any bits set outside the prefix. For example, a range such as 192.168.0.1/31 is not allowed.

Attributes

Companion
object
Source
Cidr.scala
Graph
Supertypes
class Cidr[A]
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def normalized: Strict.this.type

Returns a normalized cidr range, where the address is truncated to the prefix, so that the returned range is (and prints as) a spec-valid cidr range, with no bits outside the routing mask set.

Returns a normalized cidr range, where the address is truncated to the prefix, so that the returned range is (and prints as) a spec-valid cidr range, with no bits outside the routing mask set.

Attributes

Returns

a normalized cidr range

Example

scala> val raw = Cidr(ipv4"10.11.12.13", 8)
raw: Cidr[Ipv4Address] = 10.11.12.13/8
scala> raw.normalized
res0: Cidr.Strict[Ipv4Address] = 10.0.0.0/8
Definition Classes
Source
Cidr.scala

Inherited methods

override def canEqual(other: Any): Boolean

Attributes

Definition Classes
Inherited from:
Cidr
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
Inherited from:
Cidr
Source
Cidr.scala
def copy[AA >: A <: IpAddress](address: AA, prefixBits: Int): Cidr[AA]

Attributes

Inherited from:
Cidr
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)).

Value parameters

that

the object to compare against this object for equality.

Attributes

Returns

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

Definition Classes
Cidr -> Equals -> Any
Inherited from:
Cidr
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
Cidr -> Any
Inherited from:
Cidr
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
Inherited from:
Cidr
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::
Inherited from:
Cidr
Source
Cidr.scala
override def productArity: Int

Attributes

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

Attributes

Definition Classes
Inherited from:
Cidr
Source
Cidr.scala

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product

Attributes

Inherited from:
Product
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
Cidr -> Any
Inherited from:
Cidr
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

Inherited from:
Cidr
Source
Cidr.scala

Concrete fields

override val 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

Inherited fields

val address: A

Attributes

Inherited from:
Cidr
Source
Cidr.scala