| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #ifndef SkTDArray_DEFINED | 10 #ifndef SkTDArray_DEFINED |
| (...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 | 340 |
| 341 #ifdef SK_DEBUG | 341 #ifdef SK_DEBUG |
| 342 void validate() const { | 342 void validate() const { |
| 343 SkASSERT((fReserve == 0 && fArray == NULL) || | 343 SkASSERT((fReserve == 0 && fArray == NULL) || |
| 344 (fReserve > 0 && fArray != NULL)); | 344 (fReserve > 0 && fArray != NULL)); |
| 345 SkASSERT(fCount <= fReserve); | 345 SkASSERT(fCount <= fReserve); |
| 346 SkASSERT(fData == (ArrayT*)fArray); | 346 SkASSERT(fData == (ArrayT*)fArray); |
| 347 } | 347 } |
| 348 #endif | 348 #endif |
| 349 | 349 |
| 350 void shrinkToFit() { | |
| 351 fReserve = fCount; | |
| 352 fArray = (T*)sk_realloc_throw(fArray, fReserve * sizeof(T)); | |
| 353 } | |
| 354 | |
| 355 private: | 350 private: |
| 356 #ifdef SK_DEBUG | 351 #ifdef SK_DEBUG |
| 357 enum { | 352 enum { |
| 358 kDebugArraySize = 16 | 353 kDebugArraySize = 16 |
| 359 }; | 354 }; |
| 360 typedef T ArrayT[kDebugArraySize]; | 355 typedef T ArrayT[kDebugArraySize]; |
| 361 ArrayT* fData; | 356 ArrayT* fData; |
| 362 #endif | 357 #endif |
| 363 T* fArray; | 358 T* fArray; |
| 364 int fReserve; | 359 int fReserve; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 385 fReserve = count + 4; | 380 fReserve = count + 4; |
| 386 fReserve += fReserve / 4; | 381 fReserve += fReserve / 4; |
| 387 fArray = (T*)sk_realloc_throw(fArray, fReserve * sizeof(T)); | 382 fArray = (T*)sk_realloc_throw(fArray, fReserve * sizeof(T)); |
| 388 #ifdef SK_DEBUG | 383 #ifdef SK_DEBUG |
| 389 fData = (ArrayT*)fArray; | 384 fData = (ArrayT*)fArray; |
| 390 #endif | 385 #endif |
| 391 } | 386 } |
| 392 }; | 387 }; |
| 393 | 388 |
| 394 #endif | 389 #endif |
| OLD | NEW |