1
0
mirror of https://github.com/mfontanini/libtins synced 2026-01-23 02:35:57 +01:00

Add IPv4/6Address::size member function

This commit is contained in:
Matias Fontanini
2017-10-01 20:38:54 -07:00
parent db0fb7f20d
commit f2766db829
4 changed files with 29 additions and 1 deletions

View File

@@ -32,10 +32,10 @@
#include <string>
#include <iosfwd>
#include <functional>
#include <stdint.h>
#include <tins/cxxstd.h>
#include <tins/macros.h>
#include <functional>
namespace Tins {
/**
@@ -182,6 +182,15 @@ public:
*/
bool is_broadcast() const;
/**
* \brief Returns the size of an IPv4 Address.
*
* This returns the value of IPv4Address::address_size
*/
size_t size() const {
return address_size;
}
/**
* \brief Writes this address to a std::ostream.
*

View File

@@ -197,6 +197,15 @@ public:
*/
bool is_multicast() const;
/**
* \brief Returns the size of an IPv6 Address.
*
* This returns the value of IPv6Address::address_size
*/
size_t size() const {
return address_size;
}
/**
* \brief Writes this address in hex-notation to a std::ostream.
*

View File

@@ -111,3 +111,8 @@ TEST(IPAddressTest, Mask) {
IPv4Address("192.255.1.2") & IPv4Address("255.128.0.0")
);
}
TEST(IPv4AddressTest, Size) {
EXPECT_EQ(4, IPv4Address("127.0.0.1").size());
EXPECT_EQ(4, IPv4Address().size());
}

View File

@@ -124,6 +124,11 @@ TEST(IPv6AddressTest, MaskAddress) {
);
}
TEST(IPv6AddressTest, Size) {
EXPECT_EQ(16, IPv6Address("dead:beef::1").size());
EXPECT_EQ(16, IPv6Address().size());
}
#if TINS_IS_CXX11
TEST(IPv6AddressTest, HashTest) {