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