Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(103)

Side by Side Diff: xfa/src/fxbarcode/utils.h

Issue 1734823002: Get rid of CBC_AutoPtr and use std::unique_ptr instead. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: rebase Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2014 PDFium Authors. All rights reserved. 1 // Copyright 2014 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6 6
7 #ifndef XFA_SRC_FXBARCODE_UTILS_H_ 7 #ifndef XFA_SRC_FXBARCODE_UTILS_H_
8 #define XFA_SRC_FXBARCODE_UTILS_H_ 8 #define XFA_SRC_FXBARCODE_UTILS_H_
9 9
10 #include "core/include/fxcrt/fx_basic.h" 10 #include "core/include/fxcrt/fx_basic.h"
11 11
12 typedef CFX_MapPtrTemplate<void*, int32_t> CFX_PtrToInt32; 12 typedef CFX_MapPtrTemplate<void*, int32_t> CFX_PtrToInt32;
13 FX_BOOL BC_FX_ByteString_Replace(CFX_ByteString& dst, 13 FX_BOOL BC_FX_ByteString_Replace(CFX_ByteString& dst,
14 FX_DWORD first, 14 FX_DWORD first,
15 FX_DWORD last, 15 FX_DWORD last,
16 int32_t count, 16 int32_t count,
17 FX_CHAR c); 17 FX_CHAR c);
18 void BC_FX_ByteString_Append(CFX_ByteString& dst, int32_t count, FX_CHAR c); 18 void BC_FX_ByteString_Append(CFX_ByteString& dst, int32_t count, FX_CHAR c);
19 void BC_FX_ByteString_Append(CFX_ByteString& dst, const CFX_ByteArray& ba); 19 void BC_FX_ByteString_Append(CFX_ByteString& dst, const CFX_ByteArray& ba);
20 typedef FX_BOOL (*BC_PtrArrayCompareCallback)(void* l, void* r); 20 typedef FX_BOOL (*BC_PtrArrayCompareCallback)(void* l, void* r);
21 void BC_FX_PtrArray_Sort(CFX_PtrArray& src, BC_PtrArrayCompareCallback fun); 21 void BC_FX_PtrArray_Sort(CFX_PtrArray& src, BC_PtrArrayCompareCallback fun);
22 template <class _Ty>
23 class CBC_AutoPtr {
24 public:
25 typedef _Ty element_type;
26 explicit CBC_AutoPtr(_Ty* _P = 0) : _Owns(_P != 0), _Ptr(_P) {}
Lei Zhang 2016/02/25 02:19:24 BTW, this whole CL started because my local Androi
27 CBC_AutoPtr(const CBC_AutoPtr<_Ty>& _Y)
28 : _Owns(_Y._Owns), _Ptr(_Y.release()) {}
29 CBC_AutoPtr<_Ty>& operator=(const CBC_AutoPtr<_Ty>& _Y) {
30 if (this != &_Y) {
31 if (_Ptr != _Y.get()) {
32 if (_Owns) {
33 delete _Ptr;
34 }
35 _Owns = _Y._Owns;
36 } else if (_Y._Owns) {
37 _Owns = TRUE;
38 }
39 _Ptr = _Y.release();
40 }
41 return (*this);
42 }
43 ~CBC_AutoPtr() {
44 if (_Owns) {
45 delete _Ptr;
46 }
47 }
48 _Ty& operator*() const { return (*get()); }
49 _Ty* operator->() const { return (get()); }
50 _Ty* get() const { return (_Ptr); }
51 _Ty* release() const {
52 ((CBC_AutoPtr<_Ty>*)this)->_Owns = FALSE;
53 return (_Ptr);
54 }
55 22
56 private:
57 FX_BOOL _Owns;
58 _Ty* _Ptr;
59 };
60 #if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_) 23 #if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_)
61 #include <limits> 24 #include <limits>
62 #elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \ 25 #elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_LINUX_DESKTOP_ || \
63 _FX_OS_ == _FX_IOS_) 26 _FX_OS_ == _FX_IOS_)
64 #include <limits.h> 27 #include <limits.h>
65 #endif 28 #endif
66 #if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_) 29 #if (_FX_OS_ == _FX_WIN32_DESKTOP_ || _FX_OS_ == _FX_WIN64_)
67 #define FXSYS_isnan(x) _isnan(x) 30 #define FXSYS_isnan(x) _isnan(x)
68 #elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_) 31 #elif(_FX_OS_ == _FX_MACOSX_ || _FX_OS_ == _FX_IOS_)
69 #include <cmath> 32 #include <cmath>
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
211 #define THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH_SIZE 57 174 #define THREE_DIGIT_PLUS_DIGIT_DATA_LENGTH_SIZE 57
212 #define FOUR_DIGIT_DATA_LENGTH_SIZE 17 175 #define FOUR_DIGIT_DATA_LENGTH_SIZE 17
213 #define BC_EXCEPTION_CHECK_ReturnVoid(e) \ 176 #define BC_EXCEPTION_CHECK_ReturnVoid(e) \
214 if (e != BCExceptionNO) \ 177 if (e != BCExceptionNO) \
215 return; 178 return;
216 #define BC_EXCEPTION_CHECK_ReturnValue(e, v) \ 179 #define BC_EXCEPTION_CHECK_ReturnValue(e, v) \
217 if (e != BCExceptionNO) \ 180 if (e != BCExceptionNO) \
218 return v; 181 return v;
219 182
220 #endif // XFA_SRC_FXBARCODE_UTILS_H_ 183 #endif // XFA_SRC_FXBARCODE_UTILS_H_
OLDNEW
« xfa/src/fxbarcode/qrcode/BC_QRDataBlock.h ('K') | « xfa/src/fxbarcode/qrcode/BC_QRGridSampler.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698