// public bool IPAddressV4::inSubnet(StringPiece cidrNetwork) const { auto subnetInfo = IPAddress::createNetwork(cidrNetwork); auto addr = subnetInfo.first; if (!addr.isV4()) { throw IPAddressFormatException("Address '", addr.toJson(), "' ", "is not a V4 address"); } return inSubnetWithMask(addr.asV4(), fetchMask(subnetInfo.second)); }
// public IPAddressV4 IPAddressV4::mask(size_t numBits) const { static const auto bits = bitCount(); if (numBits > bits) { throw IPAddressFormatException("numBits(", numBits, ") > bitsCount(", bits, ")"); } ByteArray4 ba = detail::Bytes::mask(fetchMask(numBits), addr_.bytes_); return IPAddressV4(ba); }
// public bool IPAddressV4::isLinkLocal() const { static IPAddressV4 linklocal_addr("169.254.0.0"); return inSubnetWithMask(linklocal_addr, fetchMask(16)); }
// public bool IPAddressV4::isLoopback() const { static IPAddressV4 loopback_addr("127.0.0.0"); return inSubnetWithMask(loopback_addr, fetchMask(8)); }