// Copyright 2014 The Chromium Authors // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef CC_BASE_LIST_CONTAINER_H_ #define CC_BASE_LIST_CONTAINER_H_ #include <stddef.h> #include <iterator> #include <memory> #include <optional> #include <utility> #include "base/check.h" #include "cc/base/list_container_helper.h" namespace cc { // ListContainer is a container type that handles allocating contiguous memory // for new elements and traversing through elements with either iterator or // reverse iterator. Since this container hands out raw pointers of its // elements, it is very important that this container never reallocate its // memory so those raw pointer will continue to be valid. This class is used to // contain SharedQuadState or DrawQuad. Since the size of each DrawQuad varies, // to hold DrawQuads, the allocations size of each element in this class is // LargestDrawQuadSize while BaseElementType is DrawQuad. template <class BaseElementType> class ListContainer { … }; } // namespace cc #endif // CC_BASE_LIST_CONTAINER_H_