- [ ] Ipv6Addr - [ ] parse(): parse ipv6 addresses - [x] next(): get next ipv6 address - [x] previous(): get previous ipv6 address - [x] `toIpv4()` - [x] `toIpv4Mapped()` - [x] toString() (canonical representation) - [x] IPv4Addr - [x] `toIpv6Compatible()` - [x] `toIpv6Mapped()` - [x] IpAddr - [x] unit tests - [x] Edge case: disallow IpAddr from being able to recursively store itself, same with SocketAddr - [x] SocketAddrValue interface - [x] SocketAddr class - [ ] SocketAddrV6 - [ ] parse(): parse socket address v6 (originally named fromString()) - [x] toString(): print recommended version of ipv6 + port - [ ] Implement CIDR (classless inter-domain routing) - [ ] CidrBlock - [ ] CidrBlockV4 - [ ] CidrBlockV6 - [x] integer handling: - [x] behavior on either 1.) erroring, or 2.) truncating/clamping, should be more explicit and consistent, in method names and/or descriptions - [x] handle NaN, Infinity, -Infinity, +0, -0 - [x] expand examples in README.md - [x] improve top-level documentation for types
toIpv4()toIpv4Mapped()toIpv6Compatible()toIpv6Mapped()