author | llornkcor <llornkcor> | 2003-07-10 02:40:10 (UTC) |
---|---|---|
committer | llornkcor <llornkcor> | 2003-07-10 02:40:10 (UTC) |
commit | 155d68c1e7d7dc0fed2534ac43d6d77ce2781f55 (patch) (unidiff) | |
tree | e6edaa5a7040fe6c224c3943d1094dcf02e4f74c /qmake/include/qmemarray.h | |
parent | 86703e8a5527ef114facd02c005b6b3a7e62e263 (diff) | |
download | opie-155d68c1e7d7dc0fed2534ac43d6d77ce2781f55.zip opie-155d68c1e7d7dc0fed2534ac43d6d77ce2781f55.tar.gz opie-155d68c1e7d7dc0fed2534ac43d6d77ce2781f55.tar.bz2 |
update qmake to 1.05a
-rw-r--r-- | qmake/include/qmemarray.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/qmake/include/qmemarray.h b/qmake/include/qmemarray.h index a5baf99..267670d 100644 --- a/qmake/include/qmemarray.h +++ b/qmake/include/qmemarray.h | |||
@@ -30,57 +30,58 @@ | |||
30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. | 30 | ** See http://www.trolltech.com/qpl/ for QPL licensing information. |
31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. | 31 | ** See http://www.trolltech.com/gpl/ for GPL licensing information. |
32 | ** | 32 | ** |
33 | ** Contact info@trolltech.com if any conditions of this licensing are | 33 | ** Contact info@trolltech.com if any conditions of this licensing are |
34 | ** not clear to you. | 34 | ** not clear to you. |
35 | ** | 35 | ** |
36 | **********************************************************************/ | 36 | **********************************************************************/ |
37 | 37 | ||
38 | #ifndef QMEMARRAY_H | 38 | #ifndef QMEMARRAY_H |
39 | #define QMEMARRAY_H | 39 | #define QMEMARRAY_H |
40 | 40 | ||
41 | #ifndef QT_H | 41 | #ifndef QT_H |
42 | #include "qgarray.h" | 42 | #include "qgarray.h" |
43 | #endif // QT_H | 43 | #endif // QT_H |
44 | 44 | ||
45 | 45 | ||
46 | template<class type> | 46 | template<class type> |
47 | class QMemArray : public QGArray | 47 | class QMemArray : public QGArray |
48 | { | 48 | { |
49 | public: | 49 | public: |
50 | typedef type* Iterator; | 50 | typedef type* Iterator; |
51 | typedef const type* ConstIterator; | 51 | typedef const type* ConstIterator; |
52 | typedef type ValueType; | 52 | typedef type ValueType; |
53 | 53 | ||
54 | protected: | 54 | protected: |
55 | QMemArray( int, int ) : QGArray( 0, 0 ) {} | 55 | QMemArray( int, int ) : QGArray( 0, 0 ) {} |
56 | 56 | ||
57 | public: | 57 | public: |
58 | QMemArray() {} | 58 | QMemArray() {} |
59 | QMemArray( int size ) : QGArray(size*sizeof(type)) {} | 59 | QMemArray( int size ) : QGArray(size*sizeof(type)) {} |
60 | QMemArray( const QMemArray<type> &a ) : QGArray(a) {} | 60 | QMemArray( const QMemArray<type> &a ) : QGArray(a) {} |
61 | ~QMemArray() {} | 61 | ~QMemArray() {} |
62 | QMemArray<type> &operator=(const QMemArray<type> &a) | 62 | QMemArray<type> &operator=(const QMemArray<type> &a) |
63 | { return (QMemArray<type>&)QGArray::assign(a); } | 63 | { return (QMemArray<type>&)QGArray::assign(a); } |
64 | type *data() const{ return (type *)QGArray::data(); } | 64 | type *data() const{ return (type *)QGArray::data(); } |
65 | uint nrefs() const{ return QGArray::nrefs(); } | 65 | uint nrefs() const{ return QGArray::nrefs(); } |
66 | uint size() const{ return QGArray::size()/sizeof(type); } | 66 | uint size() const{ return QGArray::size()/sizeof(type); } |
67 | uint count() const{ return size(); } | 67 | uint count() const{ return size(); } |
68 | bool isEmpty() const{ return QGArray::size() == 0; } | 68 | bool isEmpty() const{ return QGArray::size() == 0; } |
69 | bool isNull() const{ return QGArray::data() == 0; } | 69 | bool isNull() const{ return QGArray::data() == 0; } |
70 | bool resize( uint size ){ return QGArray::resize(size*sizeof(type)); } | 70 | bool resize( uint size ){ return QGArray::resize(size*sizeof(type)); } |
71 | bool resize( uint size, Optimization optim ) { return QGArray::resize(size*sizeof(type), optim); } | ||
71 | bool truncate( uint pos ){ return QGArray::resize(pos*sizeof(type)); } | 72 | bool truncate( uint pos ){ return QGArray::resize(pos*sizeof(type)); } |
72 | bool fill( const type &d, int size = -1 ) | 73 | bool fill( const type &d, int size = -1 ) |
73 | { return QGArray::fill((char*)&d,size,sizeof(type) ); } | 74 | { return QGArray::fill((char*)&d,size,sizeof(type) ); } |
74 | void detach() { QGArray::detach(); } | 75 | void detach() { QGArray::detach(); } |
75 | QMemArray<type> copy() const | 76 | QMemArray<type> copy() const |
76 | { QMemArray<type> tmp; return tmp.duplicate(*this); } | 77 | { QMemArray<type> tmp; return tmp.duplicate(*this); } |
77 | QMemArray<type>& assign( const QMemArray<type>& a ) | 78 | QMemArray<type>& assign( const QMemArray<type>& a ) |
78 | { return (QMemArray<type>&)QGArray::assign(a); } | 79 | { return (QMemArray<type>&)QGArray::assign(a); } |
79 | QMemArray<type>& assign( const type *a, uint n ) | 80 | QMemArray<type>& assign( const type *a, uint n ) |
80 | { return (QMemArray<type>&)QGArray::assign((char*)a,n*sizeof(type)); } | 81 | { return (QMemArray<type>&)QGArray::assign((char*)a,n*sizeof(type)); } |
81 | QMemArray<type>& duplicate( const QMemArray<type>& a ) | 82 | QMemArray<type>& duplicate( const QMemArray<type>& a ) |
82 | { return (QMemArray<type>&)QGArray::duplicate(a); } | 83 | { return (QMemArray<type>&)QGArray::duplicate(a); } |
83 | QMemArray<type>& duplicate( const type *a, uint n ) | 84 | QMemArray<type>& duplicate( const type *a, uint n ) |
84 | { return (QMemArray<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); } | 85 | { return (QMemArray<type>&)QGArray::duplicate((char*)a,n*sizeof(type)); } |
85 | QMemArray<type>& setRawData( const type *a, uint n ) | 86 | QMemArray<type>& setRawData( const type *a, uint n ) |
86 | { return (QMemArray<type>&)QGArray::setRawData((char*)a, | 87 | { return (QMemArray<type>&)QGArray::setRawData((char*)a, |
@@ -95,28 +96,34 @@ public: | |||
95 | int bsearch( const type &d ) const | 96 | int bsearch( const type &d ) const |
96 | { return QGArray::bsearch((const char*)&d,sizeof(type)); } | 97 | { return QGArray::bsearch((const char*)&d,sizeof(type)); } |
97 | // ### Qt 4.0: maybe provide uint overload as work-around for MSVC bug | 98 | // ### Qt 4.0: maybe provide uint overload as work-around for MSVC bug |
98 | type& operator[]( int i ) const | 99 | type& operator[]( int i ) const |
99 | { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } | 100 | { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } |
100 | type& at( uint i ) const | 101 | type& at( uint i ) const |
101 | { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } | 102 | { return (type &)(*(type *)QGArray::at(i*sizeof(type))); } |
102 | operator const type*() const { return (const type *)QGArray::data(); } | 103 | operator const type*() const { return (const type *)QGArray::data(); } |
103 | bool operator==( const QMemArray<type> &a ) const { return isEqual(a); } | 104 | bool operator==( const QMemArray<type> &a ) const { return isEqual(a); } |
104 | bool operator!=( const QMemArray<type> &a ) const { return !isEqual(a); } | 105 | bool operator!=( const QMemArray<type> &a ) const { return !isEqual(a); } |
105 | Iterator begin() { return data(); } | 106 | Iterator begin() { return data(); } |
106 | Iterator end() { return data() + size(); } | 107 | Iterator end() { return data() + size(); } |
107 | ConstIterator begin() const { return data(); } | 108 | ConstIterator begin() const { return data(); } |
108 | ConstIterator end() const { return data() + size(); } | 109 | ConstIterator end() const { return data() + size(); } |
109 | }; | 110 | }; |
110 | 111 | ||
112 | #ifndef QT_QWINEXPORT | ||
111 | #if defined(Q_TEMPLATEDLL) | 113 | #if defined(Q_TEMPLATEDLL) |
112 | // MOC_SKIP_BEGIN | 114 | // MOC_SKIP_BEGIN |
113 | Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<int>; | 115 | Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<int>; |
114 | Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<bool>; | 116 | Q_TEMPLATE_EXTERN template class Q_EXPORT QMemArray<bool>; |
115 | // MOC_SKIP_END | 117 | // MOC_SKIP_END |
116 | #endif | 118 | #endif |
119 | #endif /* QT_QWINEXPORT */ | ||
117 | 120 | ||
118 | #ifndef QT_NO_COMPAT | 121 | #ifndef QT_NO_COMPAT |
119 | #define QArray QMemArray | 122 | #define QArray QMemArray |
120 | #endif | 123 | #endif |
121 | 124 | ||
125 | #ifdef QT_QWINEXPORT | ||
126 | #define Q_DEFINED_QMEMARRAY | ||
127 | #include <qwinexport.h> | ||
128 | #endif /* QT_QWINEXPORT */ | ||
122 | #endif // QARRAY_H | 129 | #endif // QARRAY_H |