/* * Copyright (C) 2021-present ScyllaDB */ /* * SPDX-License-Identifier: AGPL-3.0-or-later */ #pragma once #include #include template concept Trivial = std::is_trivial_v; template concept TriviallyCopyable = std::is_trivially_copyable_v; template To read_unaligned(const void* src) { To dst; std::memcpy(&dst, src, sizeof(To)); return dst; } template void write_unaligned(void* dst, const From& src) { std::memcpy(dst, &src, sizeof(From)); }