#ifndef CRDTP_CHROMIUM_PROTOCOL_TYPE_TRAITS_H_
#define CRDTP_CHROMIUM_PROTOCOL_TYPE_TRAITS_H_
#include <string_view>
#include <vector>
#include "base/memory/ref_counted_memory.h"
#include "base/memory/scoped_refptr.h"
#include "base/values.h"
#include "third_party/inspector_protocol/crdtp/protocol_core.h"
#include "third_party/inspector_protocol/crdtp/serializable.h"
namespace base {
class Value;
}
namespace crdtp {
class Serializable;
namespace traits {
String;
Value;
DictionaryValue;
ListValue;
}
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<std::string> { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<base::Value> { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<traits::DictionaryValue> { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<traits::ListValue> { … };
template <typename T>
struct UniquePtrTraitsHelper { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<std::unique_ptr<traits::DictionaryValue>>
: public UniquePtrTraitsHelper<traits::DictionaryValue> { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<std::unique_ptr<base::Value>>
: public UniquePtrTraitsHelper<base::Value> { … };
class CRDTP_EXPORT Binary : public Serializable { … };
template <>
struct CRDTP_EXPORT ProtocolTypeTraits<Binary> { … };
template <>
struct detail::MaybeTypedef<Binary> { … };
}
#endif