1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-30 13:34:27 +01:00

Added IPv4Address, IPv6Address and HWAddress<> 'is_multicast' member function.

This commit is contained in:
Matias Fontanini
2013-09-08 17:23:08 -03:00
parent a01fff411e
commit e21e34e194
12 changed files with 139 additions and 46 deletions

View File

@@ -45,6 +45,7 @@
namespace Tins {
const IPv6Address loopback_address = "::1";
const AddressRange<IPv6Address> multicast_range = IPv6Address("ff00::") / 8;
IPv6Address::IPv6Address() {
std::fill(address, address + address_size, 0);
@@ -104,6 +105,10 @@ bool IPv6Address::is_loopback() const {
return loopback_address == *this;
}
bool IPv6Address::is_multicast() const {
return multicast_range.contains(*this);
}
AddressRange<IPv6Address> operator/(const IPv6Address &addr, int mask) {
if(mask > 128)
throw std::logic_error("Prefix length cannot exceed 128");