21 #include "ns3/assert.h" 
   45   NS_LOG_FUNCTION (
this << static_cast<uint32_t> (type) << &buffer << static_cast<uint32_t> (len));
 
   50   : m_type (address.m_type),
 
  105   std::memcpy (
m_data, buffer, len);
 
  124   NS_LOG_FUNCTION (
this << static_cast<uint32_t> (type) << static_cast<uint32_t> (len));
 
  141   static uint8_t type = 1;
 
  150   return 1 + 1 + 
m_len;
 
  221   for (uint8_t i = 0; i < a.
GetLength (); i++)
 
  237   os.setf (std::ios::hex, std::ios::basefield);
 
  239   os << std::setw (2) << (uint32_t) address.
m_type << 
"-" << std::setw (2) << (uint32_t) address.
m_len << 
"-";
 
  240   for (uint8_t i = 0; i < (address.
m_len-1); ++i)
 
  242       os << std::setw (2) << (uint32_t)address.
m_data[i] << 
":";
 
  245   os << std::setw (2) << (uint32_t) address.
m_data[address.
m_len-1];
 
  246   os.setf (std::ios::dec, std::ios::basefield);
 
  255   std::string::size_type firstDash, secondDash;
 
  256   firstDash = v.find (
"-");
 
  257   secondDash = v.find (
"-", firstDash+1);
 
  258   std::string type = v.substr (0, firstDash-0);
 
  259   std::string len = v.substr (firstDash+1, secondDash-(firstDash+1));
 
  261   address.
m_type = strtoul (type.c_str(), 0, 16);
 
  262   address.
m_len = strtoul (len.c_str(), 0, 16);
 
  265   std::string::size_type col = secondDash + 1;
 
  266   for (uint8_t i = 0; i < address.
m_len; ++i)
 
  269       std::string::size_type next;
 
  270       next = v.find (
":", col);
 
  271       if (next == std::string::npos)
 
  273           tmp = v.substr (col, v.size ()-col);
 
  274           address.
m_data[i] = strtoul (tmp.c_str(), 0, 16);
 
  279           tmp = v.substr (col, next-col);
 
  280           address.
m_data[i] = strtoul (tmp.c_str(), 0, 16);
 
bool IsInvalid(void) const 
 
uint8_t m_len
Length of the address. 
 
std::istream & operator>>(std::istream &is, Angles &a)
initialize a struct Angles from input 
 
void Write(const uint8_t *buffer, uint32_t size)
 
#define NS_LOG_FUNCTION(parameters)
If log level LOG_FUNCTION is enabled, this macro will output all input parameters separated by "...
 
bool IsMatchingType(uint8_t type) const 
 
#define ATTRIBUTE_HELPER_CPP(type)
Define the attribute value, accessor and checkers for class type. 
 
#define NS_ASSERT(condition)
At runtime, in debugging builds, if this condition is not true, the program prints the source file...
 
#define NS_LOG_COMPONENT_DEFINE(name)
Define a Log component with a specific name. 
 
#define NS_LOG_FUNCTION_NOARGS()
Output the name of the function. 
 
Address()
Create an invalid address. 
 
TAG_BUFFER_INLINE uint8_t ReadU8(void)
 
a polymophic address class 
 
bool CheckCompatible(uint8_t type, uint8_t len) const 
 
uint32_t CopyAllTo(uint8_t *buffer, uint8_t len) const 
 
Address & operator=(const Address &address)
Basic assignment operator. 
 
uint8_t m_type
Type of the address. 
 
uint8_t GetLength(void) const 
Get the length of the underlying address. 
 
uint32_t CopyAllFrom(const uint8_t *buffer, uint8_t len)
 
void Deserialize(TagBuffer buffer)
 
bool operator<(const int64x64_t &lhs, const int64x64_t &rhs)
Less than operator. 
 
uint32_t GetSerializedSize(void) const 
Get the number of bytes needed to serialize the underlying Address Typically, this is GetLength () + ...
 
std::ostream & operator<<(std::ostream &os, const Angles &a)
print a struct Angles to output 
 
bool operator!=(Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > a, Callback< R, T1, T2, T3, T4, T5, T6, T7, T8, T9 > b)
Inequality test. 
 
Every class exported by the ns3 library is enclosed in the ns3 namespace. 
 
uint32_t CopyFrom(const uint8_t *buffer, uint8_t len)
 
uint8_t m_data[MAX_SIZE]
The address value. 
 
TAG_BUFFER_INLINE void WriteU8(uint8_t v)
 
uint32_t CopyTo(uint8_t buffer[MAX_SIZE]) const 
Copy the address bytes into a buffer. 
 
void Serialize(TagBuffer buffer) const 
Serialize this address in host byte order to a byte buffer. 
 
bool operator==(const EventId &a, const EventId &b)
 
void Read(uint8_t *buffer, uint32_t size)
 
static uint8_t Register(void)
Allocate a new type id for a new type of address.