Index: core/src/fxcodec/jbig2/JBig2_List.h |
diff --git a/core/src/fxcodec/jbig2/JBig2_List.h b/core/src/fxcodec/jbig2/JBig2_List.h |
index be2d7cb7e4786cb6dc45a15f8710c2ecb2c7951d..e033eb23ea4d7b4a9d5ba674f382799f95bf3c75 100644 |
--- a/core/src/fxcodec/jbig2/JBig2_List.h |
+++ b/core/src/fxcodec/jbig2/JBig2_List.h |
@@ -6,48 +6,35 @@ |
#ifndef _JBIG2_LIST_H_ |
#define _JBIG2_LIST_H_ |
-#include "JBig2_Define.h" |
-#include "JBig2_Object.h" |
+ |
+#include <vector> |
+ |
template <class TYPE> |
-class CJBig2_List : public CJBig2_Object { |
+class CJBig2_List { |
public: |
- CJBig2_List(int32_t nSize = 8) { |
- m_nSize = nSize; |
- m_pArray = (TYPE**)m_pModule->JBig2_Malloc2(sizeof(TYPE*), nSize); |
- m_nLength = 0; |
- } |
+ CJBig2_List() {} |
~CJBig2_List() { |
clear(); |
- m_pModule->JBig2_Free(m_pArray); |
} |
void clear() { |
- int32_t i; |
- for (i = 0; i < m_nLength; i++) { |
- delete m_pArray[i]; |
- } |
- m_nLength = 0; |
+ for (size_t i = 0; i < m_vector.size(); ++i) |
+ delete m_vector[i]; |
+ m_vector.clear(); |
} |
- void addItem(TYPE* pItem) { |
- if (m_nLength >= m_nSize) { |
- m_nSize += 8; |
- m_pArray = |
- (TYPE**)m_pModule->JBig2_Realloc(m_pArray, sizeof(TYPE*) * m_nSize); |
- } |
- m_pArray[m_nLength++] = pItem; |
- } |
+ void push_back(TYPE* pItem) { m_vector.push_back(pItem); } |
- int32_t getLength() { return m_nLength; } |
+ size_t size() const { return m_vector.size(); } |
+ void resize(size_t count) { m_vector.resize(count); } |
- TYPE* getAt(int32_t nIndex) { return m_pArray[nIndex]; } |
+ TYPE* get(size_t index) { return m_vector[index]; } |
- TYPE* getLast() { return m_pArray[m_nLength - 1]; } |
+ TYPE* back() { return m_vector.back(); } |
private: |
- int32_t m_nSize; |
- TYPE** m_pArray; |
- int32_t m_nLength; |
+ std::vector<TYPE*> m_vector; |
}; |
+ |
#endif |