/* * Copyright 2006 The Android Open Source Project * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SkDeque_DEFINED #define SkDeque_DEFINED #include "include/private/base/SkAPI.h" #include <cstddef> /* * The deque class works by blindly creating memory space of a specified element * size. It manages the memory as a doubly linked list of blocks each of which * can contain multiple elements. Pushes and pops add/remove blocks from the * beginning/end of the list as necessary while each block tracks the used * portion of its memory. * One behavior to be aware of is that the pops do not immediately remove an * empty block from the beginning/end of the list (Presumably so push/pop pairs * on the block boundaries don't cause thrashing). This can result in the first/ * last element not residing in the first/last block. */ class SK_API SkDeque { … }; #endif