10#include <userver/formats/common/type.hpp>
11#include <userver/formats/serialize/to.hpp>
12#include <userver/utils/meta.hpp>
14namespace boost::uuids {
18USERVER_NAMESPACE_BEGIN
21struct StrongTypedefTag;
28template <
typename T,
typename Value>
36 for (
const auto& item : value) {
38 builder.PushBack(
static_cast<
const meta::RangeValueType<T>&>(item));
40 return builder.ExtractValue();
44template <
typename T,
typename Value>
48 for (
const auto& [key, value] : value) {
51 return builder.ExtractValue();
55template <
typename T,
typename Value>
57 if (!value)
return {};
59 return typename Value::Builder(*value).ExtractValue();