21 #include "wifi-information-element-vector.h"
22 #include "ns3/packet.h"
27 NS_OBJECT_ENSURE_REGISTERED (WifiInformationElementVector);
29 WifiInformationElementVector::WifiInformationElementVector ()
33 WifiInformationElementVector::~WifiInformationElementVector ()
35 for (IE_VECTOR::iterator i = m_elements.begin (); i != m_elements.end (); i++)
42 WifiInformationElementVector::GetTypeId ()
44 static TypeId tid = TypeId (
"ns3::WifiInformationElementVector")
46 .AddConstructor<WifiInformationElementVector> ();
62 for (IE_VECTOR::const_iterator i = m_elements.begin (); i != m_elements.end (); i++)
64 start = (*i)->Serialize (start);
71 uint32_t size = start.
GetSize ();
75 i.
Next (deserialized);
85 uint8_t length = i.
ReadU8 ();
90 NS_FATAL_ERROR (
"Information element " << (uint16_t)
id <<
" is not implemented");
99 m_elements.push_back (newElement);
115 return m_elements.begin ();
120 return m_elements.end ();
129 m_elements.push_back (element);
135 for (IE_VECTOR::const_iterator i = m_elements.begin (); i != m_elements.end (); i++)
137 if ((*i)->ElementId () == id)
150 return ((*PeekPointer (a)) < (*PeekPointer (b)));
158 for (IE_VECTOR::const_iterator i = m_elements.begin (); i != m_elements.end (); i++)
160 size += ((*i)->GetInformationFieldSize () + 2);
168 if (m_elements.size () != a.m_elements.size ())
180 WifiInformationElementVector::IE_VECTOR::const_iterator j = a.m_elements.begin ();
181 for (WifiInformationElementVector::IE_VECTOR::const_iterator i = m_elements.begin (); i
182 != m_elements.end (); i++, j++)
184 if (!(*(*i) == *(*j)))
#define NS_ASSERT(condition)
uint32_t GetDistanceFrom(Iterator const &o) const
#define NS_FATAL_ERROR(msg)
fatal error handling
iterator in a Buffer instance
uint8_t WifiInformationElementId
uint32_t GetSize(void) const