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