Files
scylladb/mutation/compact_and_expire_result.hh
Avi Kivity 0ae22a09d4 LICENSE: Update to version 1.1
Updated terms of non-commercial use (must be a never-customer).
2026-04-12 19:46:33 +03:00

40 lines
1.1 KiB
C++

/*
* Copyright (C) 2024-present ScyllaDB
*/
/*
* SPDX-License-Identifier: LicenseRef-ScyllaDB-Source-Available-1.1
*/
#pragma once
#include <cstdint>
#include <fmt/core.h>
struct compact_and_expire_result {
uint64_t live_cells = 0;
uint64_t dead_cells = 0;
uint32_t collection_tombstones = 0;
bool is_live() const noexcept {
return live_cells;
}
bool operator==(const compact_and_expire_result&) const = default;
compact_and_expire_result& operator+=(const compact_and_expire_result& o) {
live_cells += o.live_cells;
dead_cells += o.dead_cells;
collection_tombstones += o.collection_tombstones;
return *this;
}
};
template <> struct fmt::formatter<compact_and_expire_result> {
constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
auto format(const compact_and_expire_result& r, fmt::format_context& ctx) const {
return fmt::format_to(ctx.out(), "{{live_cells: {}, dead_cells: {}, collection_tombstones: {}}}", r.live_cells, r.dead_cells,
r.collection_tombstones);
}
};