/*
* 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);
//
//
//