22 #include "ns3/lte-asn1-header.h" 
   91   size_t dataSize = data.size ();
 
   92   uint8_t pendingBits = dataSize;
 
  107   if (dataSize <= 65536)
 
  119               mask = (mask >> 1) & (~mask);
 
  130       while (pendingBits > 0)
 
  141               while (pendingBits > 0)
 
  144                   mask = (mask >> 1) & (~mask);
 
  152               uint8_t octetToWrite = 0;
 
  155                   octetToWrite |= (data[pendingBits - j]) ? mask : 0;
 
  156                   mask = (mask << 1) & (~mask);
 
  167       printf (
"FRAGMENTATION NEEDED!\n");
 
  174   SerializeBitset<N> (
data);
 
  180   SerializeBitstring<1> (
data);
 
  185   SerializeBitstring<2> (
data);
 
  190   SerializeBitstring<8> (
data);
 
  195   SerializeBitstring<10> (
data);
 
  200   SerializeBitstring<16> (
data);
 
  205   SerializeBitstring<27> (
data);
 
  210   SerializeBitstring<28> (
data);
 
  215   SerializeBitstring<32> (
data);
 
  222   (value) ? val.set () : val.reset ();
 
  223   SerializeBitset<1> (val);
 
  229   if (isExtensionMarkerPresent)
 
  234   SerializeBitstring<N> (optionalOrDefaultMask);
 
  239   SerializeSequence<0> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  244   SerializeSequence<1> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  249   SerializeSequence<2> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  254   SerializeSequence<3> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  259   SerializeSequence<4> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  264   SerializeSequence<5> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  269   SerializeSequence<6> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  274   SerializeSequence<9> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  279   SerializeSequence<10> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  284   SerializeSequence<11> (optionalOrDefaultMask,isExtensionMarkerPresent);
 
  301   if(isExtensionMarkerPresent)
 
  327   int range = nmax - nmin + 1;
 
  338   int requiredBits = std::ceil (std::log (range) / std::log (2.0));
 
  340   switch (requiredBits)
 
  343       SerializeBitset<1> (std::bitset<1> (n));
 
  346       SerializeBitset<2> (std::bitset<2> (n));
 
  349       SerializeBitset<3> (std::bitset<3> (n));
 
  352       SerializeBitset<4> (std::bitset<4> (n));
 
  355       SerializeBitset<5> (std::bitset<5> (n));
 
  358       SerializeBitset<6> (std::bitset<6> (n));
 
  361       SerializeBitset<7> (std::bitset<7> (n));
 
  364       SerializeBitset<8> (std::bitset<8> (n));
 
  367       SerializeBitset<9> (std::bitset<9> (n));
 
  370       SerializeBitset<10> (std::bitset<10> (n));
 
  373       SerializeBitset<11> (std::bitset<11> (n));
 
  376       SerializeBitset<12> (std::bitset<12> (n));
 
  379       SerializeBitset<13> (std::bitset<13> (n));
 
  382       SerializeBitset<14> (std::bitset<14> (n));
 
  385       SerializeBitset<15> (std::bitset<15> (n));
 
  388       SerializeBitset<16> (std::bitset<16> (n));
 
  391       SerializeBitset<17> (std::bitset<17> (n));
 
  394       SerializeBitset<18> (std::bitset<18> (n));
 
  397       SerializeBitset<19> (std::bitset<19> (n));
 
  400       SerializeBitset<20> (std::bitset<20> (n));
 
  404         std::cout << 
"SerializeInteger " << requiredBits << 
" Out of range!!" << std::endl;
 
  446   while (bitsToRead > 0)
 
  448       uint8_t octet = bIterator.
ReadU8 ();
 
  453           for (
int j = 0; j < 8; j++)
 
  455               data->set (bitsToRead - 1,(octet & mask) ? 1 : 0);
 
  467           while (bitsToRead > 0)
 
  469               data->set (bitsToRead - 1,(octet & mask) ? 1 : 0);
 
  482   return DeserializeBitset<N> (
data,bIterator);
 
  487   return DeserializeBitstring<1> (
data,bIterator);
 
  492   return DeserializeBitstring<2> (
data,bIterator);
 
  497   return DeserializeBitstring<8> (
data,bIterator);
 
  502   return DeserializeBitstring<10> (
data,bIterator);
 
  507   return DeserializeBitstring<16> (
data,bIterator);
 
  512   return DeserializeBitstring<27> (
data,bIterator);
 
  517   return DeserializeBitstring<28> (
data,bIterator);
 
  522   return DeserializeBitstring<32> (
data,bIterator);
 
  527   std::bitset<1> readBit;
 
  528   bIterator = DeserializeBitset<1> (&readBit,bIterator);
 
  529   *value = (readBit[0] == 1) ? 
true : 
false;
 
  543   int range = nmax - nmin + 1;
 
  550   int requiredBits = std::ceil (std::log (range) / std::log (2.0));
 
  552   std::bitset<1> bitsRead1;
 
  553   std::bitset<2> bitsRead2;
 
  554   std::bitset<3> bitsRead3;
 
  555   std::bitset<4> bitsRead4;
 
  556   std::bitset<5> bitsRead5;
 
  557   std::bitset<6> bitsRead6;
 
  558   std::bitset<7> bitsRead7;
 
  559   std::bitset<8> bitsRead8;
 
  560   std::bitset<9> bitsRead9;
 
  561   std::bitset<10> bitsRead10;
 
  562   std::bitset<11> bitsRead11;
 
  563   std::bitset<12> bitsRead12;
 
  564   std::bitset<13> bitsRead13;
 
  565   std::bitset<14> bitsRead14;
 
  566   std::bitset<15> bitsRead15;
 
  567   std::bitset<16> bitsRead16;
 
  568   std::bitset<17> bitsRead17;
 
  569   std::bitset<18> bitsRead18;
 
  570   std::bitset<19> bitsRead19;
 
  571   std::bitset<20> bitsRead20;
 
  573   switch (requiredBits)
 
  576       bIterator = DeserializeBitset<1> (&bitsRead1,bIterator);
 
  577       *n = (int)bitsRead1.to_ulong ();
 
  580       bIterator = DeserializeBitset<2> (&bitsRead2,bIterator);
 
  581       *n = (int)bitsRead2.to_ulong ();
 
  584       bIterator = DeserializeBitset<3> (&bitsRead3,bIterator);
 
  585       *n = (int)bitsRead3.to_ulong ();
 
  588       bIterator = DeserializeBitset<4> (&bitsRead4,bIterator);
 
  589       *n = (int)bitsRead4.to_ulong ();
 
  592       bIterator = DeserializeBitset<5> (&bitsRead5,bIterator);
 
  593       *n = (int)bitsRead5.to_ulong ();
 
  596       bIterator = DeserializeBitset<6> (&bitsRead6,bIterator);
 
  597       *n = (int)bitsRead6.to_ulong ();
 
  600       bIterator = DeserializeBitset<7> (&bitsRead7,bIterator);
 
  601       *n = (int)bitsRead7.to_ulong ();
 
  604       bIterator = DeserializeBitset<8> (&bitsRead8,bIterator);
 
  605       *n = (int)bitsRead8.to_ulong ();
 
  608       bIterator = DeserializeBitset<9> (&bitsRead9,bIterator);
 
  609       *n = (int)bitsRead9.to_ulong ();
 
  612       bIterator = DeserializeBitset<10> (&bitsRead10,bIterator);
 
  613       *n = (int)bitsRead10.to_ulong ();
 
  616       bIterator = DeserializeBitset<11> (&bitsRead11,bIterator);
 
  617       *n = (int)bitsRead11.to_ulong ();
 
  620       bIterator = DeserializeBitset<12> (&bitsRead12,bIterator);
 
  621       *n = (int)bitsRead12.to_ulong ();
 
  624       bIterator = DeserializeBitset<13> (&bitsRead13,bIterator);
 
  625       *n = (int)bitsRead13.to_ulong ();
 
  628       bIterator = DeserializeBitset<14> (&bitsRead14,bIterator);
 
  629       *n = (int)bitsRead14.to_ulong ();
 
  632       bIterator = DeserializeBitset<15> (&bitsRead15,bIterator);
 
  633       *n = (int)bitsRead15.to_ulong ();
 
  636       bIterator = DeserializeBitset<16> (&bitsRead16,bIterator);
 
  637       *n = (int)bitsRead16.to_ulong ();
 
  640       bIterator = DeserializeBitset<17> (&bitsRead17,bIterator);
 
  641       *n = (int)bitsRead17.to_ulong ();
 
  644       bIterator = DeserializeBitset<18> (&bitsRead18,bIterator);
 
  645       *n = (int)bitsRead18.to_ulong ();
 
  648       bIterator = DeserializeBitset<19> (&bitsRead19,bIterator);
 
  649       *n = (int)bitsRead19.to_ulong ();
 
  652       bIterator = DeserializeBitset<20> (&bitsRead20,bIterator);
 
  653       *n = (int)bitsRead20.to_ulong ();
 
  657         std::cout << 
"SerializeInteger Out of range!!" << std::endl;
 
  669   if (isExtensionMarkerPresent)
 
  685   if (isExtensionMarkerPresent)
 
  690   bIterator = DeserializeBitset<N> (optionalOrDefaultMask,bIterator);
 
  696   return DeserializeSequence<0> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  701   return DeserializeSequence<1> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  706   return DeserializeSequence<2> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  711   return DeserializeSequence<3> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  716   return DeserializeSequence<4> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  721   return DeserializeSequence<5> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  726   return DeserializeSequence<6> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  731   return DeserializeSequence<9> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  736   return DeserializeSequence<10> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
  741   return DeserializeSequence<11> (optionalOrDefaultMask,isExtensionMarkerPresent,bIterator);
 
#define NS_LOG_COMPONENT_DEFINE(name)
 
iterator in a Buffer instance 
 
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
 
Buffer::Iterator End(void) const 
 
Buffer::Iterator Begin(void) const 
 
uint32_t GetSize(void) const 
 
bool AddAtEnd(uint32_t end)
 
void WriteU8(uint8_t data)
 
void Write(uint8_t const *buffer, uint32_t size)
 
a unique identifier for an interface. 
 
TypeId SetParent(TypeId tid)