9#include <userver/dump/fwd.hpp>
11USERVER_NAMESPACE_BEGIN
18concept IsWritable =
requires(Writer& writer,
const T& value) {
21 } -> std::same_as<
void>;
27concept IsReadable =
requires(
Reader& reader) {
30 } -> std::same_as<std::remove_const_t<T>>;
36concept IsDumpable = IsWritable<T> && IsReadable<T>;
39constexpr bool CheckDumpable() {
42 "Type is not dumpable. Probably you forgot to include "
43 "<userver/dump/common.hpp>, <userver/dump/common_containers.hpp> or "
44 "other headers with Read and Write declarations"
53concept kIsWritable = IsWritable<T>;
58concept kIsReadable = IsReadable<T>;
63concept kIsDumpable = IsDumpable<T>;