OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef CC_BASE_LIST_CONTAINER_HELPER_H_ | 5 #ifndef CC_BASE_LIST_CONTAINER_HELPER_H_ |
6 #define CC_BASE_LIST_CONTAINER_HELPER_H_ | 6 #define CC_BASE_LIST_CONTAINER_HELPER_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
| 10 #include <memory> |
| 11 |
10 #include "base/macros.h" | 12 #include "base/macros.h" |
11 #include "base/memory/scoped_ptr.h" | |
12 #include "cc/base/cc_export.h" | 13 #include "cc/base/cc_export.h" |
13 | 14 |
14 namespace cc { | 15 namespace cc { |
15 | 16 |
16 // Helper class for ListContainer non-templated logic. All methods are private, | 17 // Helper class for ListContainer non-templated logic. All methods are private, |
17 // and only exposed to friend classes. | 18 // and only exposed to friend classes. |
18 // For usage, see comments in ListContainer (list_container.h). | 19 // For usage, see comments in ListContainer (list_container.h). |
19 class CC_EXPORT ListContainerHelper final { | 20 class CC_EXPORT ListContainerHelper final { |
20 private: | 21 private: |
21 template <typename T> | 22 template <typename T> |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
164 | 165 |
165 // Unlike the ListContainer method, this one does not invoke element | 166 // Unlike the ListContainer method, this one does not invoke element |
166 // destructors. | 167 // destructors. |
167 void clear(); | 168 void clear(); |
168 | 169 |
169 size_t AvailableSizeWithoutAnotherAllocationForTesting() const; | 170 size_t AvailableSizeWithoutAnotherAllocationForTesting() const; |
170 | 171 |
171 // Hands out memory location for an element at the end of data structure. | 172 // Hands out memory location for an element at the end of data structure. |
172 void* Allocate(size_t size_of_actual_element_in_bytes); | 173 void* Allocate(size_t size_of_actual_element_in_bytes); |
173 | 174 |
174 scoped_ptr<CharAllocator> data_; | 175 std::unique_ptr<CharAllocator> data_; |
175 | 176 |
176 DISALLOW_COPY_AND_ASSIGN(ListContainerHelper); | 177 DISALLOW_COPY_AND_ASSIGN(ListContainerHelper); |
177 }; | 178 }; |
178 | 179 |
179 } // namespace cc | 180 } // namespace cc |
180 | 181 |
181 #endif // CC_BASE_LIST_CONTAINER_HELPER_H_ | 182 #endif // CC_BASE_LIST_CONTAINER_HELPER_H_ |
OLD | NEW |