t8  1.2.0
t8code is a C library to manage a forest of adaptive space-trees of general element classes in parallel.
t8_refcount.h
Go to the documentation of this file.
1 /*
2  This file is part of t8code.
3  t8code is a C library to manage a collection (a forest) of multiple
4  connected adaptive space-trees of general element classes in parallel.
5 
6  Copyright (C) 2015 the developers
7 
8  t8code is free software; you can redistribute it and/or modify
9  it under the terms of the GNU General Public License as published by
10  the Free Software Foundation; either version 2 of the License, or
11  (at your option) any later version.
12 
13  t8code is distributed in the hope that it will be useful,
14  but WITHOUT ANY WARRANTY; without even the implied warranty of
15  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  GNU General Public License for more details.
17 
18  You should have received a copy of the GNU General Public License
19  along with t8code; if not, write to the Free Software Foundation, Inc.,
20  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
21 */
22 
30 #ifndef T8_REFCOUNT_H
31 #define T8_REFCOUNT_H
32 
33 #include <t8.h>
34 #include <sc_refcount.h>
35 
36 T8_EXTERN_C_BEGIN ();
37 
39 typedef sc_refcount_t t8_refcount_t;
40 
46 
53 
59 
62 #define t8_refcount_ref(rc) sc_refcount_ref(rc)
63 
74 #define t8_refcount_unref(rc) sc_refcount_unref(rc)
75 
77 #define t8_refcount_is_active(rc) sc_refcount_is_active(rc)
78 
80 #define t8_refcount_is_last(rc) sc_refcount_is_last(rc)
81 
82 T8_EXTERN_C_END ();
83 
84 #endif /* !T8_REFCOUNT_H */
This is the administrative header file for t8code.
void t8_refcount_destroy(t8_refcount_t *rc)
Destroy a reference counter that we allocated with t8_refcount_new.
Definition: t8_refcount.c:43
t8_refcount_t * t8_refcount_new(void)
Create a new reference counter with count initialized to 1.
Definition: t8_refcount.c:32
sc_refcount_t t8_refcount_t
We can reuse the reference counter type from libsc.
Definition: t8_refcount.h:39
void t8_refcount_init(t8_refcount_t *rc)
Initialize a reference counter to 1.
Definition: t8_refcount.c:26