diff --git a/mutation/frozen_mutation.cc b/mutation/frozen_mutation.cc index aa1e21c33d..676ad3558a 100644 --- a/mutation/frozen_mutation.cc +++ b/mutation/frozen_mutation.cc @@ -147,10 +147,6 @@ mutation_partition_view frozen_mutation::partition() const { return mutation_partition_view::from_view(mutation_view().partition()); } -std::ostream& operator<<(std::ostream& out, const frozen_mutation::printer& pr) { - return out << pr.self.unfreeze(pr.schema); -} - frozen_mutation::printer frozen_mutation::pretty_printer(schema_ptr s) const { return { *this, std::move(s) }; } diff --git a/mutation/frozen_mutation.hh b/mutation/frozen_mutation.hh index 5fba24dc61..750999f4a2 100644 --- a/mutation/frozen_mutation.hh +++ b/mutation/frozen_mutation.hh @@ -222,7 +222,6 @@ public: struct printer { const frozen_mutation& self; schema_ptr schema; - friend std::ostream& operator<<(std::ostream&, const printer&); }; // Same requirements about the schema as unfreeze(). @@ -323,3 +322,9 @@ auto frozen_mutation::consume_gently(schema_ptr s, Consumer& consumer) const -> frozen_mutation_consumer_adaptor adaptor(s, consumer); co_return co_await consume_gently(s, adaptor); } + +template <> struct fmt::formatter : fmt::formatter { + auto format(const frozen_mutation::printer& pr, fmt::format_context& ctx) const { + return fmt::format_to(ctx.out(), "{}", pr.self.unfreeze(pr.schema)); + } +};