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