LCOV - code coverage report
Current view: directory - gfx/skia/include/core - SkDeque.h (source / functions) Found Hit Coverage
Test: app.info Lines: 4 0 0.0 %
Date: 2012-06-02 Functions: 3 0 0.0 %

       1                 : 
       2                 : /*
       3                 :  * Copyright 2006 The Android Open Source Project
       4                 :  *
       5                 :  * Use of this source code is governed by a BSD-style license that can be
       6                 :  * found in the LICENSE file.
       7                 :  */
       8                 : 
       9                 : 
      10                 : #ifndef SkDeque_DEFINED
      11                 : #define SkDeque_DEFINED
      12                 : 
      13                 : #include "SkTypes.h"
      14                 : 
      15                 : class SK_API SkDeque : SkNoncopyable {
      16                 : public:
      17                 :     explicit SkDeque(size_t elemSize);
      18                 :     SkDeque(size_t elemSize, void* storage, size_t storageSize);
      19                 :     ~SkDeque();
      20                 : 
      21               0 :     bool    empty() const { return 0 == fCount; }
      22               0 :     int     count() const { return fCount; }
      23                 :     size_t  elemSize() const { return fElemSize; }
      24                 : 
      25                 :     const void* front() const;
      26                 :     const void* back() const;
      27                 : 
      28                 :     void* front() {
      29                 :         return (void*)((const SkDeque*)this)->front();
      30                 :     }
      31                 : 
      32               0 :     void* back() {
      33               0 :         return (void*)((const SkDeque*)this)->back();
      34                 :     }
      35                 : 
      36                 :     void* push_front();
      37                 :     void* push_back();
      38                 : 
      39                 :     void pop_front();
      40                 :     void pop_back();
      41                 : 
      42                 : private:
      43                 :     struct Head;
      44                 : 
      45                 : public:
      46                 :     class F2BIter {
      47                 :     public:
      48                 :         /**
      49                 :          * Creates an uninitialized iterator. Must be reset()
      50                 :          */
      51                 :         F2BIter();
      52                 : 
      53                 :         F2BIter(const SkDeque& d);
      54                 :         void* next();
      55                 : 
      56                 :         void reset(const SkDeque& d);
      57                 : 
      58                 :     private:
      59                 :         SkDeque::Head*  fHead;
      60                 :         char*           fPos;
      61                 :         size_t          fElemSize;
      62                 :     };
      63                 : 
      64                 : private:
      65                 :     Head*   fFront;
      66                 :     Head*   fBack;
      67                 :     size_t  fElemSize;
      68                 :     void*   fInitialStorage;
      69                 :     int     fCount;
      70                 : 
      71                 :     friend class Iter;
      72                 : };
      73                 : 
      74                 : #endif

Generated by: LCOV version 1.7