Changeset 846 for trunk/src/gui/painting/qdatabuffer_p.h
- Timestamp:
- May 5, 2011, 5:36:53 AM (14 years ago)
- Location:
- trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/vendor/nokia/qt/4.7.2 (added) merged: 845 /branches/vendor/nokia/qt/current merged: 844 /branches/vendor/nokia/qt/4.6.3 removed
- Property svn:mergeinfo changed
-
trunk/src/gui/painting/qdatabuffer_p.h
r651 r846 1 1 /**************************************************************************** 2 2 ** 3 ** Copyright (C) 201 0Nokia Corporation and/or its subsidiary(-ies).3 ** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). 4 4 ** All rights reserved. 5 5 ** Contact: Nokia Corporation (qt-info@nokia.com) … … 61 61 { 62 62 public: 63 QDataBuffer(int res = 64)63 QDataBuffer(int res) 64 64 { 65 65 capacity = res; 66 buffer = (Type*) qMalloc(capacity * sizeof(Type)); 66 if (res) 67 buffer = (Type*) qMalloc(capacity * sizeof(Type)); 68 else 69 buffer = 0; 67 70 siz = 0; 68 71 } … … 70 73 ~QDataBuffer() 71 74 { 72 qFree(buffer); 75 if (buffer) 76 qFree(buffer); 73 77 } 74 78 … … 82 86 inline Type &at(int i) { Q_ASSERT(i >= 0 && i < siz); return buffer[i]; } 83 87 inline const Type &at(int i) const { Q_ASSERT(i >= 0 && i < siz); return buffer[i]; } 88 inline Type &last() { Q_ASSERT(!isEmpty()); return buffer[siz-1]; } 84 89 inline const Type &last() const { Q_ASSERT(!isEmpty()); return buffer[siz-1]; } 90 inline Type &first() { Q_ASSERT(!isEmpty()); return buffer[0]; } 85 91 inline const Type &first() const { Q_ASSERT(!isEmpty()); return buffer[0]; } 86 92 … … 89 95 buffer[siz] = t; 90 96 ++siz; 97 } 98 99 inline void pop_back() { 100 Q_ASSERT(siz > 0); 101 --siz; 91 102 } 92 103 … … 98 109 inline void reserve(int size) { 99 110 if (size > capacity) { 111 if (capacity == 0) 112 capacity = 1; 100 113 while (capacity < size) 101 114 capacity *= 2; … … 106 119 inline void shrink(int size) { 107 120 capacity = size; 108 buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type)); 121 if (size) 122 buffer = (Type*) qRealloc(buffer, capacity * sizeof(Type)); 123 else { 124 qFree(buffer); 125 buffer = 0; 126 } 109 127 } 110 128
Note:
See TracChangeset
for help on using the changeset viewer.