diff options
Diffstat (limited to 'fxbarcode/qrcode/BC_QRCoderBitVector.h')
-rw-r--r-- | fxbarcode/qrcode/BC_QRCoderBitVector.h | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/fxbarcode/qrcode/BC_QRCoderBitVector.h b/fxbarcode/qrcode/BC_QRCoderBitVector.h index 59c4360c1e..0ebeb60ab8 100644 --- a/fxbarcode/qrcode/BC_QRCoderBitVector.h +++ b/fxbarcode/qrcode/BC_QRCoderBitVector.h @@ -7,29 +7,31 @@ #ifndef FXBARCODE_QRCODE_BC_QRCODERBITVECTOR_H_ #define FXBARCODE_QRCODE_BC_QRCODERBITVECTOR_H_ +#include <stddef.h> #include <stdint.h> -class CBC_QRCoderBitVector { - private: - int32_t m_sizeInBits; - uint8_t* m_array; - int32_t m_size; - - void AppendByte(int32_t value); +#include <vector> +class CBC_QRCoderBitVector { public: CBC_QRCoderBitVector(); - virtual ~CBC_QRCoderBitVector(); - int32_t At(int32_t index, int32_t& e); - int32_t Size(); - int32_t sizeInBytes(); - void AppendBit(int32_t bit, int32_t& e); - void AppendBits(int32_t value, int32_t numBits, int32_t& e); - void AppendBitVector(CBC_QRCoderBitVector* bits, int32_t& e); - void XOR(CBC_QRCoderBitVector* other, int32_t& e); - uint8_t* GetArray(); - void Clear(); - virtual void Init(); + ~CBC_QRCoderBitVector(); + + const uint8_t* GetArray() const; + int32_t At(size_t index, int32_t& e) const; + size_t Size() const; + size_t sizeInBytes() const; + + void AppendBit(int32_t bit); + void AppendBits(int32_t value, int32_t numBits); + void AppendBitVector(CBC_QRCoderBitVector* bits); + bool XOR(const CBC_QRCoderBitVector* other); + + private: + void AppendByte(int8_t value); + + size_t m_sizeInBits = 0; + std::vector<uint8_t> m_array; }; #endif // FXBARCODE_QRCODE_BC_QRCODERBITVECTOR_H_ |