This class can contain 16 bit addresses. More...
#include <mac16-address.h>
Public Member Functions | |
Mac16Address () | |
Mac16Address (const char *str) | |
void | CopyFrom (const uint8_t buffer[2]) |
void | CopyTo (uint8_t buffer[2]) const |
operator Address () const | |
Static Public Member Functions | |
static Mac16Address | Allocate (void) |
Allocate a new Mac16Address. More... | |
static Mac16Address | ConvertFrom (const Address &address) |
static bool | IsMatchingType (const Address &address) |
Private Member Functions | |
Address | ConvertTo (void) const |
Static Private Member Functions | |
static uint8_t | GetType (void) |
Private Attributes | |
uint8_t | m_address [2] |
Friends | |
bool | operator!= (const Mac16Address &a, const Mac16Address &b) |
bool | operator< (const Mac16Address &a, const Mac16Address &b) |
bool | operator== (const Mac16Address &a, const Mac16Address &b) |
Macro to make help make class an ns-3 attribute. More... | |
std::istream & | operator>> (std::istream &is, Mac16Address &address) |
This class can contain 16 bit addresses.
Definition at line 39 of file mac16-address.h.
ns3::Mac16Address::Mac16Address | ( | ) |
Definition at line 55 of file mac16-address.cc.
References m_address, and NS_LOG_FUNCTION.
ns3::Mac16Address::Mac16Address | ( | const char * | str | ) |
str | a string representing the new Mac16Address |
Definition at line 61 of file mac16-address.cc.
References ASCII_a, ASCII_COLON, ASCII_ZERO, ns3::AsciiToLowCase(), m_address, NS_ASSERT, and NS_LOG_FUNCTION.
|
static |
Allocate a new Mac16Address.
Definition at line 135 of file mac16-address.cc.
References first::address, m_address, and NS_LOG_FUNCTION_NOARGS.
|
static |
address | a polymorphic address |
This function performs a type check and asserts if the type of the input address is not compatible with an Mac16Address.
Definition at line 119 of file mac16-address.cc.
References ns3::Address::CheckCompatible(), ns3::Address::CopyTo(), GetType(), NS_ASSERT, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv6L3Protocol::AddAutoconfiguredAddress(), ns3::Ipv6Interface::DoSetup(), ns3::SixLowPanNetDevice::MakeGlobalAddressFromMac(), ns3::SixLowPanNetDevice::MakeLinkLocalAddressFromMac(), ns3::Ipv6AddressHelper::NewAddress(), and ns3::Ipv6L3Protocol::RemoveAutoconfiguredAddress().
|
private |
Convert an instance of this class to a polymorphic Address instance.
Definition at line 128 of file mac16-address.cc.
References GetType(), m_address, and NS_LOG_FUNCTION.
void ns3::Mac16Address::CopyFrom | ( | const uint8_t | buffer[2] | ) |
buffer | address in network order |
Copy the input address to our internal buffer.
Definition at line 94 of file mac16-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by ns3::ReadFrom().
void ns3::Mac16Address::CopyTo | ( | uint8_t | buffer[2] | ) | const |
buffer | address in network order |
Copy the internal address to the input buffer.
Definition at line 100 of file mac16-address.cc.
References m_address, and NS_LOG_FUNCTION.
Referenced by ns3::Ipv6Address::MakeAutoconfiguredAddress(), ns3::Ipv6Address::MakeAutoconfiguredLinkLocalAddress(), ns3::operator<<(), and ns3::WriteTo().
|
staticprivate |
Definition at line 147 of file mac16-address.cc.
References NS_LOG_FUNCTION_NOARGS, and ns3::Address::Register().
Referenced by ConvertFrom(), ConvertTo(), and IsMatchingType().
|
static |
address | address to test |
Definition at line 107 of file mac16-address.cc.
References ns3::Address::CheckCompatible(), GetType(), and NS_LOG_FUNCTION.
Referenced by ns3::Ipv6L3Protocol::AddAutoconfiguredAddress(), ns3::Ipv6Interface::DoSetup(), ns3::SixLowPanNetDevice::MakeGlobalAddressFromMac(), ns3::SixLowPanNetDevice::MakeLinkLocalAddressFromMac(), ns3::Ipv6AddressHelper::NewAddress(), and ns3::Ipv6L3Protocol::RemoveAutoconfiguredAddress().
ns3::Mac16Address::operator Address | ( | ) | const |
Convert an instance of this class to a polymorphic Address instance.
Definition at line 113 of file mac16-address.cc.
|
friend |
Definition at line 114 of file mac16-address.h.
|
friend |
Definition at line 118 of file mac16-address.h.
|
friend |
Macro to make help make class an ns-3 attribute.
Definition at line 110 of file mac16-address.h.
|
friend |
Definition at line 183 of file mac16-address.cc.
|
private |
Definition at line 100 of file mac16-address.h.
Referenced by Allocate(), ConvertTo(), CopyFrom(), CopyTo(), Mac16Address(), ns3::operator!=(), ns3::operator<(), ns3::operator==(), and ns3::operator>>().