コード例 #1
0
 /// pad binary representation to given size
 inline void Pad(BinaryData& data, size_t uiTargetSize)
 {
    if (data.size() < uiTargetSize)
    {
       data.reserve(uiTargetSize);
       data.insert(data.begin(), uiTargetSize - data.size(), 0);
    }
 }
コード例 #2
0
   void ToBinaryData(const TIntNumber& n, BinaryData& data)
   {
      BinaryData tempData = boost::xint::to_binary(n);

      // since all operators expect a high byte...low byte order, reverse the data
      data.reserve(data.size() + tempData.size());
      std::copy(tempData.rbegin(), tempData.rend(), std::back_inserter(data));
   }
コード例 #3
0
   TIntNumber ToInteger(const BinaryData& data, bool bFromBigEndian = true)
   {
      if (!bFromBigEndian)
         return TIntNumber(data);

      BinaryData tempData;
      tempData.reserve(data.size());

      std::copy(data.rbegin(), data.rend(), std::back_inserter(tempData));

      return TIntNumber(tempData);
   }