| // Copyright 2014 PDFium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
| |
| #ifndef FXBARCODE_COMMON_BC_COMMONBYTEARRAY_H_ |
| #define FXBARCODE_COMMON_BC_COMMONBYTEARRAY_H_ |
| |
| #include <vector> |
| |
| #include "core/fxcrt/fx_basic.h" |
| |
| // TODO(weili): The usage of this class should be replaced by |
| // std::vector<uint8_t>. |
| class CBC_CommonByteArray { |
| public: |
| CBC_CommonByteArray(); |
| explicit CBC_CommonByteArray(int32_t size); |
| CBC_CommonByteArray(uint8_t* byteArray, int32_t size); |
| virtual ~CBC_CommonByteArray(); |
| |
| int32_t At(int32_t index) const; |
| int32_t Size() const; |
| bool IsEmpty() const; |
| void Set(int32_t index, int32_t value); |
| void AppendByte(int32_t value); |
| void Reserve(int32_t capacity); |
| void Set(const uint8_t* source, int32_t offset, int32_t count); |
| void Set(std::vector<uint8_t>* source, int32_t offset, int32_t count); |
| |
| private: |
| int32_t m_size; |
| int32_t m_index; |
| uint8_t* m_bytes; |
| }; |
| |
| #endif // FXBARCODE_COMMON_BC_COMMONBYTEARRAY_H_ |