-rw-r--r-- | qmake/include/qgarray.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/qmake/include/qgarray.h b/qmake/include/qgarray.h index 12edea6..40720a6 100644 --- a/qmake/include/qgarray.h +++ b/qmake/include/qgarray.h | |||
@@ -46,17 +46,25 @@ | |||
46 | class Q_EXPORT QGArray // generic array | 46 | class Q_EXPORT QGArray // generic array |
47 | { | 47 | { |
48 | friend class QBuffer; | 48 | friend class QBuffer; |
49 | public: | 49 | public: |
50 | //### DO NOT USE THIS. IT IS PUBLIC BUT DO NOT USE IT IN NEW CODE. | 50 | //### DO NOT USE THIS. IT IS PUBLIC BUT DO NOT USE IT IN NEW CODE. |
51 | struct array_data : public QShared {// shared array | 51 | struct array_data : public QShared {// shared array |
52 | array_data(){ data=0; len=0; } | 52 | array_data():data(0),len(0) |
53 | #ifdef QT_QGARRAY_SPEED_OPTIM | ||
54 | ,maxl(0) | ||
55 | #endif | ||
56 | {} | ||
53 | char *data; // actual array data | 57 | char *data; // actual array data |
54 | uint len; | 58 | uint len; |
59 | #ifdef QT_QGARRAY_SPEED_OPTIM | ||
60 | uint maxl; | ||
61 | #endif | ||
55 | }; | 62 | }; |
56 | QGArray(); | 63 | QGArray(); |
64 | enum Optimization { MemOptim, SpeedOptim }; | ||
57 | protected: | 65 | protected: |
58 | QGArray( int, int ); // dummy; does not alloc | 66 | QGArray( int, int ); // dummy; does not alloc |
59 | QGArray( int size ); // allocate 'size' bytes | 67 | QGArray( int size ); // allocate 'size' bytes |
60 | QGArray( const QGArray &a ); // shallow copy | 68 | QGArray( const QGArray &a ); // shallow copy |
61 | virtual ~QGArray(); | 69 | virtual ~QGArray(); |
62 | 70 | ||
@@ -67,12 +75,13 @@ protected: | |||
67 | // ### Qt 4.0: maybe provide two versions of data(), at(), etc. | 75 | // ### Qt 4.0: maybe provide two versions of data(), at(), etc. |
68 | char *data() const{ return shd->data; } | 76 | char *data() const{ return shd->data; } |
69 | uint nrefs() const{ return shd->count; } | 77 | uint nrefs() const{ return shd->count; } |
70 | uint size() const{ return shd->len; } | 78 | uint size() const{ return shd->len; } |
71 | boolisEqual( const QGArray &a ) const; | 79 | boolisEqual( const QGArray &a ) const; |
72 | 80 | ||
81 | boolresize( uint newsize, Optimization optim ); | ||
73 | boolresize( uint newsize ); | 82 | boolresize( uint newsize ); |
74 | 83 | ||
75 | boolfill( const char *d, int len, uint sz ); | 84 | boolfill( const char *d, int len, uint sz ); |
76 | 85 | ||
77 | QGArray &assign( const QGArray &a ); | 86 | QGArray &assign( const QGArray &a ); |
78 | QGArray &assign( const char *d, uint len ); | 87 | QGArray &assign( const char *d, uint len ); |
@@ -85,13 +94,13 @@ protected: | |||
85 | 94 | ||
86 | QGArray &setRawData( const char *d, uint len ); | 95 | QGArray &setRawData( const char *d, uint len ); |
87 | voidresetRawData( const char *d, uint len ); | 96 | voidresetRawData( const char *d, uint len ); |
88 | 97 | ||
89 | int find( const char *d, uint index, uint sz ) const; | 98 | int find( const char *d, uint index, uint sz ) const; |
90 | int contains( const char *d, uint sz ) const; | 99 | int contains( const char *d, uint sz ) const; |
91 | 100 | ||
92 | voidsort( uint sz ); | 101 | voidsort( uint sz ); |
93 | int bsearch( const char *d, uint sz ) const; | 102 | int bsearch( const char *d, uint sz ) const; |
94 | 103 | ||
95 | char *at( uint index ) const; | 104 | char *at( uint index ) const; |
96 | 105 | ||
97 | boolsetExpand( uint index, const char *d, uint sz ); | 106 | boolsetExpand( uint index, const char *d, uint sz ); |