LCOV - app.info - memory/jemalloc/linkedlist.h

LCOV - code coverage report
| Current view: | directory - memory/jemalloc - linkedlist.h (source / functions) |  | Found | Hit | Coverage |
| Test: | app.info | Lines: | 18 | 0 | 0.0 %
| Date: | 2012-04-07 | Functions: | 4 | 0 | 0.0 %

           1                 : /* -*- Mode: C; tab-width: 8; c-basic-offset: 8; indent-tabs-mode: t -*- */
           2                 : /* vim:set softtabstop=8 shiftwidth=8 noet: */
           3                 : /*-
           4                 :  * Copyright (C) the Mozilla Foundation.
           5                 :  * All rights reserved.
           6                 :  *
           7                 :  * Redistribution and use in source and binary forms, with or without
           8                 :  * modification, are permitted provided that the following conditions
           9                 :  * are met:
          10                 :  * 1. Redistributions of source code must retain the above copyright
          11                 :  *    notice(s), this list of conditions and the following disclaimer as
          12                 :  *    the first lines of this file unmodified other than the possible
          13                 :  *    addition of one or more copyright notices.
          14                 :  * 2. Redistributions in binary form must reproduce the above copyright
          15                 :  *    notice(s), this list of conditions and the following disclaimer in
          16                 :  *    the documentation and/or other materials provided with the
          17                 :  *    distribution.
          18                 :  *
          19                 :  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) ``AS IS'' AND ANY
          20                 :  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
          21                 :  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
          22                 :  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT HOLDER(S) BE
          23                 :  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
          24                 :  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
          25                 :  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
          26                 :  * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
          27                 :  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
          28                 :  * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
          29                 :  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
          30                 :  *
          31                 :  *******************************************************************************/
          32                 :
          33                 : #ifndef linkedlist_h__
          34                 : #define linkedlist_h__
          35                 :
          36                 : #include <stddef.h>
          37                 :
          38                 : typedef struct LinkedList_s LinkedList;
          39                 :
          40                 : struct LinkedList_s {
          41                 :         LinkedList *next;
          42                 :         LinkedList *prev;
          43                 : };
          44                 :
          45                 : /* Convert from LinkedList* to foo*. */
          46                 : #define LinkedList_Get(e, type, prop) \
          47                 :   (type*)((char*)(e) - offsetof(type, prop))
          48                 :
          49                 : /* Insert |e| at the beginning of |l|.  */
          50               0 : void LinkedList_InsertHead(LinkedList *l, LinkedList *e)
          51                 : {
          52               0 :         e->next = l;
          53               0 :         e->prev = l->prev;
          54               0 :         e->next->prev = e;
          55               0 :         e->prev->next = e;
          56               0 : }
          57                 :
          58               0 : void LinkedList_Remove(LinkedList *e)
          59                 : {
          60               0 :         e->prev->next = e->next;
          61               0 :         e->next->prev = e->prev;
          62               0 :         e->next = e;
          63               0 :         e->prev = e;
          64               0 : }
          65                 :
          66               0 : bool LinkedList_IsEmpty(LinkedList *e)
          67                 : {
          68               0 :         return e->next == e;
          69                 : }
          70                 :
          71               0 : void LinkedList_Init(LinkedList *e)
          72                 : {
          73               0 :         e->next = e;
          74               0 :         e->prev = e;
          75               0 : }
          76                 :
          77                 : #endif

Generated by: LCOV version 1.7