diff options
author | Dan Sinclair <dsinclair@chromium.org> | 2016-03-09 13:49:00 -0500 |
---|---|---|
committer | Dan Sinclair <dsinclair@chromium.org> | 2016-03-09 13:49:00 -0500 |
commit | 9332e0c2fced598a632e3bbe905b6f63b1f5b06b (patch) | |
tree | a8957a09cb34ecd28afcd6ebbed309d9c60e4644 /xfa/src/fgas/crt/fgas_algorithm.h | |
parent | 8388037a5c58d60043b11c03a8efe78c54c65a4b (diff) | |
download | pdfium-9332e0c2fced598a632e3bbe905b6f63b1f5b06b.tar.xz |
Cleanup the xfa/src/fgas directory.
This CL moves the code from xfa/src/fgas/src up one level. It then takes the
headers in xfa/src/fgas/include and moves them to their correct folder. The
src/ and include/ directories are then removed.
In some cases, when moving from include/ there was another header with the
same name. Those headers were either folded together, or the content of the
conflicting folder moved to an anonymous namespace in the cpp file as they were
not used anywhere else.
Files with duplicate names as core/src/crt were renamed to be fgas_ instead of
fx_. (e.g. fgas_system.h, fgas_memory.h, fgas_stream.h)
R=tsepez@chromium.org
Review URL: https://codereview.chromium.org/1776303002 .
Diffstat (limited to 'xfa/src/fgas/crt/fgas_algorithm.h')
-rw-r--r-- | xfa/src/fgas/crt/fgas_algorithm.h | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/xfa/src/fgas/crt/fgas_algorithm.h b/xfa/src/fgas/crt/fgas_algorithm.h new file mode 100644 index 0000000000..f819716820 --- /dev/null +++ b/xfa/src/fgas/crt/fgas_algorithm.h @@ -0,0 +1,54 @@ +// 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 XFA_SRC_FGAS_CRT_FGAS_ALGORITHM_H_ +#define XFA_SRC_FGAS_CRT_FGAS_ALGORITHM_H_ + +#include <cstdint> + +#include "core/include/fxcrt/fx_basic.h" + +#ifdef __cplusplus +extern "C" { +#endif + +int32_t FX_Base64EncodeA(const uint8_t* pSrc, int32_t iSrcLen, FX_CHAR* pDst); +int32_t FX_Base64DecodeA(const FX_CHAR* pSrc, int32_t iSrcLen, uint8_t* pDst); +int32_t FX_Base64DecodeW(const FX_WCHAR* pSrc, int32_t iSrcLen, uint8_t* pDst); +uint8_t FX_Hex2Dec(uint8_t hexHigh, uint8_t hexLow); +int32_t FX_SeparateStringW(const FX_WCHAR* pStr, + int32_t iStrLen, + FX_WCHAR delimiter, + CFX_WideStringArray& pieces); +#ifdef __cplusplus +}; +#endif + +template <class baseType> +class CFX_DSPATemplate { + public: + int32_t Lookup(const baseType& find, const baseType* pArray, int32_t iCount) { + FXSYS_assert(pArray != NULL); + if (iCount < 1) { + return -1; + } + int32_t iStart = 0, iEnd = iCount - 1, iMid; + do { + iMid = (iStart + iEnd) / 2; + const baseType& v = pArray[iMid]; + if (find == v) { + return iMid; + } else if (find < v) { + iEnd = iMid - 1; + } else { + iStart = iMid + 1; + } + } while (iStart <= iEnd); + return -1; + } +}; + +#endif // XFA_SRC_FGAS_CRT_FGAS_ALGORITHM_H_ |