1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef _BC_QRECODERBITVECTOR_H_ 8 #define _BC_QRECODERBITVECTOR_H_ 9 class CBC_QRCoderBitVector { 10 private: 11 int32_t m_sizeInBits; 12 uint8_t* m_array; 13 int32_t m_size; 14 15 void AppendByte(int32_t value); 16 17 public: 18 CBC_QRCoderBitVector(); 19 virtual ~CBC_QRCoderBitVector(); 20 int32_t At(int32_t index, int32_t& e); 21 int32_t Size(); 22 int32_t sizeInBytes(); 23 void AppendBit(int32_t bit, int32_t& e); 24 void AppendBits(int32_t value, int32_t numBits, int32_t& e); 25 void AppendBitVector(CBC_QRCoderBitVector* bits, int32_t& e); 26 void XOR(CBC_QRCoderBitVector* other, int32_t& e); 27 uint8_t* GetArray(); 28 void Clear(); 29 virtual void Init(); 30 }; 31 #endif 32