From 497b9deadceef24de05b545b09523ffa26d325d5 Mon Sep 17 00:00:00 2001 From: Mathieu Lacage Date: Mon, 30 Jul 2007 14:20:10 +0200 Subject: [PATCH] add implicit conversion to Ipv4Address --- src/node/ipv4-address.cc | 9 +++++++++ src/node/ipv4-address.h | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/node/ipv4-address.cc b/src/node/ipv4-address.cc index aae53c65f..91d4d0bc1 100644 --- a/src/node/ipv4-address.cc +++ b/src/node/ipv4-address.cc @@ -211,6 +211,15 @@ Ipv4Address::IsMatchingType (const Address &address) { return address.CheckCompatible (GetType (), 4); } +Ipv4Address::operator Address () +{ + return ConvertTo (); +} +Ipv4Address::Ipv4Address (const Address &address) +{ + *this = ConvertFrom (address); +} + Address Ipv4Address::ConvertTo (void) const { diff --git a/src/node/ipv4-address.h b/src/node/ipv4-address.h index 8e8976a18..d17854742 100644 --- a/src/node/ipv4-address.h +++ b/src/node/ipv4-address.h @@ -105,14 +105,16 @@ public: Ipv4Address CombineMask (Ipv4Mask const &mask) const; static bool IsMatchingType (const Address &address); - Address ConvertTo (void) const; - static Ipv4Address ConvertFrom (const Address &address); + operator Address (); + Ipv4Address (const Address &address); static Ipv4Address GetZero (void); static Ipv4Address GetAny (void); static Ipv4Address GetBroadcast (void); static Ipv4Address GetLoopback (void); private: + Address ConvertTo (void) const; + static Ipv4Address ConvertFrom (const Address &address); static uint8_t GetType (void); uint32_t m_address; };