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_COMMONBITARRAY_H_ 8 #define _BC_COMMONBITARRAY_H_ 9 class CBC_CommonBitArray { 10 public: 11 CBC_CommonBitArray(CBC_CommonBitArray* array); 12 CBC_CommonBitArray(int32_t size); 13 CBC_CommonBitArray(); 14 virtual ~CBC_CommonBitArray(); 15 int32_t GetSize(); 16 CFX_Int32Array& GetBits(); 17 int32_t GetSizeInBytes(); 18 FX_BOOL Get(int32_t i); 19 void Set(int32_t i); 20 void Flip(int32_t i); 21 void SetBulk(int32_t i, int32_t newBits); 22 FX_BOOL IsRange(int32_t start, int32_t end, FX_BOOL value, int32_t& e); 23 int32_t* GetBitArray(); 24 void Reverse(); 25 void Clear(); 26 27 private: 28 int32_t m_size; 29 CFX_Int32Array m_bits; 30 }; 31 #endif 32