| Index: cc/base/sidecar_list_container.h
|
| diff --git a/cc/base/sidecar_list_container.h b/cc/base/sidecar_list_container.h
|
| index 52deaf4b0a47f11b3eeabaa780bb1ee2bcded359..842795fad1b3a94d2ea644a89c6fbd99301e5e4e 100644
|
| --- a/cc/base/sidecar_list_container.h
|
| +++ b/cc/base/sidecar_list_container.h
|
| @@ -29,6 +29,10 @@ class SidecarListContainer {
|
| using SidecarDestroyer = void (*)(void* sidecar);
|
| using Iterator = typename ListContainer<BaseElementType>::Iterator;
|
| using ConstIterator = typename ListContainer<BaseElementType>::ConstIterator;
|
| + using ReverseIterator =
|
| + typename ListContainer<BaseElementType>::ReverseIterator;
|
| + using ConstReverseIterator =
|
| + typename ListContainer<BaseElementType>::ConstReverseIterator;
|
|
|
| explicit SidecarListContainer(size_t max_size_for_derived_class,
|
| size_t max_size_for_sidecar,
|
| @@ -60,6 +64,11 @@ class SidecarListContainer {
|
| list_.clear();
|
| }
|
|
|
| + void RemoveLast() {
|
| + destroyer_(GetSidecar(*list_.rbegin()));
|
| + list_.RemoveLast();
|
| + }
|
| +
|
| // This permits a client to exchange a pointer to an element to a pointer to
|
| // its corresponding sidecar.
|
| void* GetSidecar(BaseElementType* element) {
|
|
|