1b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project// Copyright 2016 PDFium Authors. All rights reserved.
2b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project// Use of this source code is governed by a BSD-style license that can be
3b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project// found in the LICENSE file.
4b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project
5b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project
7b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project#ifndef CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_
8b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project#define CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_
9b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project
10b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project#include "core/fxcrt/fx_basic.h"
11b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project#include "core/fxcrt/fx_system.h"
12b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project
13b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Projecttemplate <class TYPE>
14b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Projectclass CPVT_ArrayTemplate : public CFX_ArrayTemplate<TYPE> {
15b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project public:
16b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project  bool IsEmpty() { return CFX_ArrayTemplate<TYPE>::GetSize() <= 0; }
17b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project
18b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project  TYPE GetAt(int nIndex) const {
190935e09bb12a1886a801713bbd78bbc20bf4ea4eChih-yu Huang    if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize())
2041ecefdc167ca88d785e6a1d58b706cc7f03c2bdWu-cheng Li      return CFX_ArrayTemplate<TYPE>::GetAt(nIndex);
21ab2ffa88872149978823c3184d0af162d3cdca13Chung-yih Wang    return nullptr;
22749d056cd82ebfe6e613596d9e22dd355aeeec41Chung-yih Wang  }
2394ca8baae7e6e3885d895c095890eabf30d922e2Chih-yu Huang
246fb969e2edd99340b3b77eae4e7b313a82937930Andy Stadler  void RemoveAt(int nIndex) {
2598d615769af2b08bcddf02ee1b11f5288ec5cf92Wu-cheng Li    if (nIndex >= 0 && nIndex < CFX_ArrayTemplate<TYPE>::GetSize())
26419d20ae123f53226ccefb7d28d8a40add8ffd0aChung-yih Wang      CFX_ArrayTemplate<TYPE>::RemoveAt(nIndex);
27c5e37cbb96b8284203560c51dd5f41c705a21f58Wu-cheng Li  }
28adab2bddc93bf4af535cb58e7167bf8690d97d8cChung-yih Wang};
291efb18228a45952d699af280482e1c51a4582690Owen Lin
30b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project#endif  // CORE_FPDFDOC_CPVT_ARRAYTEMPLATE_H_
31b64d345c9d51cabce43b5191532a0c185d2a70a5The Android Open Source Project