| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "cc/base/list_container.h" | 5 #include "cc/base/list_container.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <vector> | 8 #include <vector> |
| 9 | 9 |
| 10 #include "cc/base/scoped_ptr_vector.h" | 10 #include "cc/base/scoped_ptr_vector.h" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 return last_list_->AddElement(); | 113 return last_list_->AddElement(); |
| 114 } | 114 } |
| 115 | 115 |
| 116 size_t element_size() const { return element_size_; } | 116 size_t element_size() const { return element_size_; } |
| 117 size_t list_count() const { return storage_.size(); } | 117 size_t list_count() const { return storage_.size(); } |
| 118 size_t size() const { return size_; } | 118 size_t size() const { return size_; } |
| 119 bool IsEmpty() const { return size() == 0; } | 119 bool IsEmpty() const { return size() == 0; } |
| 120 | 120 |
| 121 size_t Capacity() const { | 121 size_t Capacity() const { |
| 122 size_t capacity_sum = 0; | 122 size_t capacity_sum = 0; |
| 123 for (ScopedPtrVector<InnerList>::const_iterator iter = storage_.begin(); | 123 for (const auto& inner_list : storage_) |
| 124 iter != storage_.end(); ++iter) { | 124 capacity_sum += inner_list->capacity; |
| 125 capacity_sum += (*iter)->capacity; | |
| 126 } | |
| 127 return capacity_sum; | 125 return capacity_sum; |
| 128 } | 126 } |
| 129 | 127 |
| 130 void Clear() { | 128 void Clear() { |
| 131 // Remove all except for the first InnerList. | 129 // Remove all except for the first InnerList. |
| 132 DCHECK(!storage_.empty()); | 130 DCHECK(!storage_.empty()); |
| 133 storage_.erase(storage_.begin() + 1, storage_.end()); | 131 storage_.erase(storage_.begin() + 1, storage_.end()); |
| 134 last_list_index_ = 0; | 132 last_list_index_ = 0; |
| 135 last_list_ = storage_[0]; | 133 last_list_ = storage_[0]; |
| 136 last_list_->size = 0; | 134 last_list_->size = 0; |
| (...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 418 } | 416 } |
| 419 | 417 |
| 420 bool ListContainerBase::empty() const { | 418 bool ListContainerBase::empty() const { |
| 421 return data_->IsEmpty(); | 419 return data_->IsEmpty(); |
| 422 } | 420 } |
| 423 | 421 |
| 424 size_t ListContainerBase::MaxSizeForDerivedClass() const { | 422 size_t ListContainerBase::MaxSizeForDerivedClass() const { |
| 425 return data_->element_size(); | 423 return data_->element_size(); |
| 426 } | 424 } |
| 427 | 425 |
| 426 size_t ListContainerBase::GetCapacityInBytes() const { |
| 427 return data_->Capacity() * data_->element_size(); |
| 428 } |
| 429 |
| 428 void ListContainerBase::clear() { | 430 void ListContainerBase::clear() { |
| 429 data_->Clear(); | 431 data_->Clear(); |
| 430 } | 432 } |
| 431 | 433 |
| 432 size_t ListContainerBase::AvailableSizeWithoutAnotherAllocationForTesting() | 434 size_t ListContainerBase::AvailableSizeWithoutAnotherAllocationForTesting() |
| 433 const { | 435 const { |
| 434 return data_->NumAvailableElementsInLastList(); | 436 return data_->NumAvailableElementsInLastList(); |
| 435 } | 437 } |
| 436 | 438 |
| 437 // ListContainerBase::Iterator | 439 // ListContainerBase::Iterator |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 509 } | 511 } |
| 510 | 512 |
| 511 ListContainerBase::ConstReverseIterator::~ConstReverseIterator() { | 513 ListContainerBase::ConstReverseIterator::~ConstReverseIterator() { |
| 512 } | 514 } |
| 513 | 515 |
| 514 size_t ListContainerBase::ConstReverseIterator::index() const { | 516 size_t ListContainerBase::ConstReverseIterator::index() const { |
| 515 return index_; | 517 return index_; |
| 516 } | 518 } |
| 517 | 519 |
| 518 } // namespace cc | 520 } // namespace cc |
| OLD | NEW |