|
Go to the documentation of this file.
81 assert(n >= 0 && n < num);
87 assert(n >= 0 && n < num);
130 assert(newdata != 0);
133 for( k = 0; k < i; ++k )
135 new (&(newdata[k])) T();
136 newdata[k] = data[k];
141 for( ; k < i+n; ++k )
142 new (&(newdata[k])) T();
145 for( k = i; k < num; ++k )
147 new (&(newdata[n + k])) T();
148 newdata[n + k] = data[k];
160 void insert( int i, int n, const T* p_array)
163 for (n--; n >= 0; --n)
164 data[n + i] = p_array[n];
170 int n = p_array. size();
172 for (n--; n >= 0; --n)
181 void remove( int n = 0, int m = 1)
183 assert(n >= 0 && m >= 0);
184 if (m > 0 && n < num)
190 m -= (n + m <= num) ? 0 : n + m - num;
195 assert(newdata != 0);
198 for( k = num - 1; k >= n + m; --k )
200 new (&(newdata[k - m])) T();
201 newdata[k - m] = data[k];
212 new (&(newdata[k])) T();
213 newdata[k] = data[k];
223 for( k = m - 1; k >= 0; --k )
232 assert(( data == 0) == ( num == 0));
260 remove(newsize, num - newsize);
261 else if (newsize > num)
279 for ( int i = 0; i < num; ++i)
302 for( k = 0; k < num; ++k )
303 new (&( data[k])) T();
320 for( k = 0; k < num; ++k )
322 new (&( data[k])) T();
346 #ifdef ENABLE_CONSISTENCY_CHECKS
|