• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2017 Google Inc.
3  *
4  * Use of this source code is governed by a BSD-style license that can
5  * be found in the LICENSE file.
6  *
7  */
8 
9 #pragma once
10 
11 //
12 //
13 //
14 
15 #include "skc.h"
16 #include "types.h"
17 
18 //
19 //
20 //
21 
22 typedef skc_ulong skc_epoch_t;
23 
24 //
25 //
26 //
27 
28 void
29 skc_weakref_epoch_init(skc_epoch_t * const epoch);
30 
31 void
32 skc_weakref_epoch_inc(skc_epoch_t * const epoch);
33 
34 void
35 skc_weakref_init(skc_weakref_t * const weakref,
36                  skc_epoch_t   * const epoch,
37                  skc_uint        const index);
38 
39 bool
40 skc_weakref_is_invalid(skc_weakref_t const * const weakref,
41                        skc_epoch_t   const * const epoch);
42 
43 skc_uint
44 skc_weakref_index(skc_weakref_t const * const weakref);
45 
46 //
47 //
48 //
49