function cidrv4Size
cidrv4Size(cidr: Cidrv4): number

Returns the total number of IP addresses in a CIDR block.

For a /24 network, this returns 256. For a /32, this returns 1.

Examples

Getting CIDR size from Cidrv4 object

import { assertEquals } from "@std/assert";
import { cidrv4Size, parseCidrv4 } from "@hertzg/ip/cidrv4";

assertEquals(cidrv4Size(parseCidrv4("192.168.1.0/24")), 256);
assertEquals(cidrv4Size(parseCidrv4("10.0.0.0/8")), 16777216);
assertEquals(cidrv4Size(parseCidrv4("192.168.1.1/32")), 1);
assertEquals(cidrv4Size(parseCidrv4("0.0.0.0/0")), 4294967296);

Parameters

cidr: Cidrv4

The CIDR block

Return Type

number

The total number of addresses in the CIDR block

cidrv4Size(prefixLength: PrefixLengthv4): number

Returns the total number of IP addresses for a given prefix length.

Examples

Getting CIDR size from prefix length

import { assertEquals } from "@std/assert";
import { cidrv4Size } from "@hertzg/ip/cidrv4";

assertEquals(cidrv4Size(24), 256);
assertEquals(cidrv4Size(8), 16777216);
assertEquals(cidrv4Size(32), 1);
assertEquals(cidrv4Size(0), 4294967296);

Out-of-range prefix length throws

import { assertThrows } from "@std/assert";
import { cidrv4Size } from "@hertzg/ip/cidrv4";

assertThrows(() => cidrv4Size(-1), RangeError);
assertThrows(() => cidrv4Size(33), RangeError);

Parameters

prefixLength: PrefixLengthv4

The CIDR prefix length (0-32)

Return Type

number

The total number of addresses

Throws

RangeError

If the prefix length is out of range (not 0-32)

cidrv4Size(cidrOrPrefixLength: Cidrv4 | PrefixLengthv4): number

Returns the total number of IP addresses for either a CIDR block or a prefix length.

Parameters

cidrOrPrefixLength: Cidrv4 | PrefixLengthv4

A Cidrv4 block or a prefix length (0-32)

Return Type

number

The total number of addresses