Add Ipv4Address::CombineMask, and implement Ipv4Address::IsBroadcast.

This commit is contained in:
Gustavo J. A. M. Carneiro
2007-07-26 12:11:37 +01:00
parent ccd6240e23
commit 48cf146a6f
2 changed files with 26 additions and 1 deletions

View File

@@ -145,6 +145,18 @@ Ipv4Address::IsEqual (Ipv4Address other) const
}
}
bool
Ipv4Address::IsBroadcast (void) const
{
return (m_address == 0xffffffffU);
}
Ipv4Address
Ipv4Address::CombineMask (Ipv4Mask const &mask) const
{
return Ipv4Address (GetHostOrder () & mask.GetHostOrder ());
}
bool
Ipv4Address::IsMulticast (void)
{

View File

@@ -27,6 +27,8 @@
namespace ns3 {
class Ipv4Mask;
/** Ipv4 addresses are stored in host order in
* this class.
*/
@@ -80,8 +82,19 @@ public:
*/
void Print (std::ostream &os) const;
bool IsBroadcast (void);
bool IsBroadcast (void) const;
bool IsMulticast (void);
/**
* \brief Combine this address with a network mask
*
* This method returns an IPv4 address that is this address combined
* (bitwise and) with a network mask, yielding an IPv4 network
* address.
*
* \param a network mask
*/
Ipv4Address CombineMask (Ipv4Mask const &mask) const;
static Ipv4Address GetZero (void);
static Ipv4Address GetAny (void);