Files
scylladb/gms/version_generator.hh
Benny Halevy 2d20ee7d61 gms: version_generator: define version_type and generation_type strong types
Derived from utils::tagged_integer, using different tags,
the types are incompatible with each other and require explicit
typecasting to- and from- their value type.

Signed-off-by: Benny Halevy <bhalevy@scylladb.com>
2023-04-23 08:47:17 +03:00

30 lines
489 B
C++

/*
*
* Modified by ScyllaDB
* Copyright (C) 2015-present ScyllaDB
*/
/*
* SPDX-License-Identifier: (AGPL-3.0-or-later and Apache-2.0)
*/
#pragma once
#include "utils/tagged_integer.hh"
namespace gms {
using version_type = utils::tagged_integer<struct version_type_tag, int32_t>;
/**
* A unique version number generator for any state that is generated by the
* local node.
*/
namespace version_generator
{
version_type get_next_version() noexcept;
}
} // namespace gms