diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2016-03-14 13:35:12 -0400 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2016-03-14 13:35:12 -0400 |
commit | 764ec513eecbebd12781bcc96ce81ed5e736ee92 (patch) | |
tree | 12763fde4be1f10ea1183d92185917b2b587e00b /core/src/fxcrt/fx_basic_list.cpp | |
parent | 97da97662417085774f75c26e535c6fbe70266ae (diff) | |
download | pdfium-764ec513eecbebd12781bcc96ce81ed5e736ee92.tar.xz |
Move core/src/ up to core/.
This CL moves the core/src/ files up to core/ and fixes up the include guards,
includes and build files.
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1800523005 .
Diffstat (limited to 'core/src/fxcrt/fx_basic_list.cpp')
-rw-r--r-- | core/src/fxcrt/fx_basic_list.cpp | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/core/src/fxcrt/fx_basic_list.cpp b/core/src/fxcrt/fx_basic_list.cpp deleted file mode 100644 index 5944a2c4af..0000000000 --- a/core/src/fxcrt/fx_basic_list.cpp +++ /dev/null @@ -1,125 +0,0 @@ -// 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 - -#include "core/include/fxcrt/fx_basic.h" -#include "core/src/fxcrt/plex.h" - -CFX_PtrList::CFX_PtrList(int nBlockSize) - : m_pNodeHead(NULL), - m_pNodeTail(NULL), - m_nCount(0), - m_pNodeFree(NULL), - m_pBlocks(NULL), - m_nBlockSize(nBlockSize) {} -FX_POSITION CFX_PtrList::AddTail(void* newElement) { - CNode* pNewNode = NewNode(m_pNodeTail, NULL); - pNewNode->data = newElement; - if (m_pNodeTail) { - m_pNodeTail->pNext = pNewNode; - } else { - m_pNodeHead = pNewNode; - } - m_pNodeTail = pNewNode; - return (FX_POSITION)pNewNode; -} -FX_POSITION CFX_PtrList::AddHead(void* newElement) { - CNode* pNewNode = NewNode(NULL, m_pNodeHead); - pNewNode->data = newElement; - if (m_pNodeHead) { - m_pNodeHead->pPrev = pNewNode; - } else { - m_pNodeTail = pNewNode; - } - m_pNodeHead = pNewNode; - return (FX_POSITION)pNewNode; -} -FX_POSITION CFX_PtrList::InsertAfter(FX_POSITION position, void* newElement) { - if (!position) { - return AddTail(newElement); - } - CNode* pOldNode = (CNode*)position; - CNode* pNewNode = NewNode(pOldNode, pOldNode->pNext); - pNewNode->data = newElement; - if (pOldNode->pNext) { - pOldNode->pNext->pPrev = pNewNode; - } else { - m_pNodeTail = pNewNode; - } - pOldNode->pNext = pNewNode; - return (FX_POSITION)pNewNode; -} -void CFX_PtrList::RemoveAt(FX_POSITION position) { - CNode* pOldNode = (CNode*)position; - if (pOldNode == m_pNodeHead) { - m_pNodeHead = pOldNode->pNext; - } else { - pOldNode->pPrev->pNext = pOldNode->pNext; - } - if (pOldNode == m_pNodeTail) { - m_pNodeTail = pOldNode->pPrev; - } else { - pOldNode->pNext->pPrev = pOldNode->pPrev; - } - FreeNode(pOldNode); -} -void CFX_PtrList::FreeNode(CFX_PtrList::CNode* pNode) { - pNode->pNext = m_pNodeFree; - m_pNodeFree = pNode; - m_nCount--; - if (m_nCount == 0) { - RemoveAll(); - } -} -void CFX_PtrList::RemoveAll() { - m_nCount = 0; - m_pNodeHead = m_pNodeTail = m_pNodeFree = NULL; - m_pBlocks->FreeDataChain(); - m_pBlocks = NULL; -} -CFX_PtrList::CNode* CFX_PtrList::NewNode(CFX_PtrList::CNode* pPrev, - CFX_PtrList::CNode* pNext) { - if (!m_pNodeFree) { - CFX_Plex* pNewBlock = - CFX_Plex::Create(m_pBlocks, m_nBlockSize, sizeof(CNode)); - CNode* pNode = (CNode*)pNewBlock->data(); - pNode += m_nBlockSize - 1; - for (int i = m_nBlockSize - 1; i >= 0; i--, pNode--) { - pNode->pNext = m_pNodeFree; - m_pNodeFree = pNode; - } - } - CFX_PtrList::CNode* pNode = m_pNodeFree; - m_pNodeFree = m_pNodeFree->pNext; - pNode->pPrev = pPrev; - pNode->pNext = pNext; - m_nCount++; - ASSERT(m_nCount > 0); - pNode->data = 0; - return pNode; -} -CFX_PtrList::~CFX_PtrList() { - RemoveAll(); - ASSERT(m_nCount == 0); -} -FX_POSITION CFX_PtrList::FindIndex(int nIndex) const { - if (nIndex >= m_nCount || nIndex < 0) { - return NULL; - } - CNode* pNode = m_pNodeHead; - while (nIndex--) { - pNode = pNode->pNext; - } - return (FX_POSITION)pNode; -} -FX_POSITION CFX_PtrList::Find(void* searchValue, FX_POSITION startAfter) const { - CNode* pNode = (CNode*)startAfter; - pNode = pNode ? pNode->pNext : m_pNodeHead; - for (; pNode; pNode = pNode->pNext) { - if (pNode->data == searchValue) - return (FX_POSITION)pNode; - } - return NULL; -} |