1 // Copyright 2016 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 CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_ 8 #define CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_ 9 10 #include "core/fxcrt/fx_basic.h" 11 #include "core/fxcrt/fx_system.h" 12 13 template <class TYPE> 14 class CPVT_ArrayTemplate : public CFX_ArrayTemplate<TYPE> { 15 public: IsEmpty()16 bool IsEmpty() { return CFX_ArrayTemplate<TYPE>::GetSize() <= 0; } 17 GetAt(int nIndex)18 TYPE GetAt(int nIndex) const { 19 if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize()) 20 return CFX_ArrayTemplate<TYPE>::GetAt(nIndex); 21 return nullptr; 22 } 23 RemoveAt(int nIndex)24 void RemoveAt(int nIndex) { 25 if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize()) 26 CFX_ArrayTemplate<TYPE>::RemoveAt(nIndex); 27 } 28 }; 29 30 #endif // CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_ 31