| /* |
| * Copyright 2017 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can |
| * be found in the LICENSE file. |
| * |
| */ |
| |
| #pragma once |
| |
| // |
| // |
| // |
| |
| #include "skc.h" |
| #include "types.h" |
| |
| // |
| // |
| // |
| |
| typedef skc_ulong skc_epoch_t; |
| |
| // |
| // |
| // |
| |
| void |
| skc_weakref_epoch_init(skc_epoch_t * const epoch); |
| |
| void |
| skc_weakref_epoch_inc(skc_epoch_t * const epoch); |
| |
| void |
| skc_weakref_init(skc_weakref_t * const weakref, |
| skc_epoch_t * const epoch, |
| skc_uint const index); |
| |
| bool |
| skc_weakref_is_invalid(skc_weakref_t const * const weakref, |
| skc_epoch_t const * const epoch); |
| |
| skc_uint |
| skc_weakref_index(skc_weakref_t const * const weakref); |
| |
| // |
| // |
| // |