C++ Utilities  5.10.5
Useful C++ classes and routines such as argument parser, IO and conversion utilities
bitreader.cpp
Go to the documentation of this file.
1 #include "./bitreader.h"
2 
3 using namespace std;
4 
5 namespace CppUtilities {
6 
18 void BitReader::skipBits(std::size_t bitCount)
19 {
20  if (bitCount <= m_bitsAvail) {
21  m_bitsAvail -= static_cast<std::uint8_t>(bitCount);
22  } else {
23  if ((m_buffer += 1 + (bitCount -= m_bitsAvail) / 8) >= m_end) {
24  throw ios_base::failure("end of buffer exceeded");
25  }
26  m_bitsAvail = 8 - (bitCount % 8);
27  }
28 }
29 
30 } // namespace CppUtilities
Contains all utilities provides by the c++utilities library.