#include <string>
#include <string_view>
+#include <fmt/compile.h>
+#include <fmt/format.h>
+
#include "include/rados.h"
#include "include/unordered_map.h"
#include "common/Formatter.h"
struct snapid_t {
uint64_t val;
// cppcheck-suppress noExplicitConstructor
- snapid_t(uint64_t v=0) : val(v) {}
+ constexpr snapid_t(uint64_t v=0) : val(v) {}
snapid_t operator+=(snapid_t o) { val += o.val; return *this; }
snapid_t operator++() { ++val; return *this; }
- operator uint64_t() const { return val; }
+ constexpr operator uint64_t() const { return val; }
};
inline void encode(snapid_t i, ceph::buffer::list &bl) {
return out << std::hex << s.val << std::dec;
}
+namespace fmt {
+template <>
+struct formatter<snapid_t> {
+
+ constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
+
+ template <typename FormatContext>
+ auto format(const snapid_t& snp, FormatContext& ctx) const
+ {
+ if (snp == CEPH_NOSNAP) {
+ return fmt::format_to(ctx.out(), "head");
+ }
+ if (snp == CEPH_SNAPDIR) {
+ return fmt::format_to(ctx.out(), "snapdir");
+ }
+ return fmt::format_to(ctx.out(), FMT_COMPILE("{:x}"), snp.val);
+ }
+};
+} // namespace fmt
struct sobject_t {
object_t oid;
+++ /dev/null
-// -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:t -*-
-// vim: ts=8 sw=2 smarttab
-#pragma once
-
-/**
- * \file fmtlib formatters for some object.h structs
- */
-#include <fmt/compile.h>
-#include <fmt/format.h>
-
-#include "object.h"
-
-
-template <>
-struct fmt::formatter<snapid_t> {
-
- constexpr auto parse(format_parse_context& ctx) { return ctx.begin(); }
-
- template <typename FormatContext>
- auto format(const snapid_t& snp, FormatContext& ctx) const
- {
- if (snp == CEPH_NOSNAP) {
- return fmt::format_to(ctx.out(), "head");
- }
- if (snp == CEPH_SNAPDIR) {
- return fmt::format_to(ctx.out(), "snapdir");
- }
- return fmt::format_to(ctx.out(), FMT_COMPILE("{:x}"), snp.val);
- }
-};
#include "include/buffer.h"
#include "include/buffer_raw.h"
-#include "include/object_fmt.h"
+#include "include/object.h"
#include "osd/osd_types_fmt.h"
#include "osd/scrubber/pg_scrubber.h"