chromium/out/Default/gen/v8/src/inspector/protocol/Protocol.h

// This file is generated by Values_h.template.

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef v8_inspector_protocol_Values_h
#define v8_inspector_protocol_Values_h

//#include "Allocator.h"
//#include "Forward.h"

#include <memory>
#include <unordered_map>
#include <utility>
#include <vector>

#include "src/inspector/protocol/Forward.h"

namespace v8_inspector {
namespace protocol {

class ListValue;
class DictionaryValue;
class Value;

#define PROTOCOL_DISALLOW_COPY(ClassName)

class  Value : public Serializable {};

class  FundamentalValue : public Value {};

class  StringValue : public Value {};

class  BinaryValue : public Value {};

class  DictionaryValue : public Value {};

class  ListValue : public Value {};

} // namespace v8_inspector
} // namespace protocol

#endif // v8_inspector_protocol_Values_h


// This file is generated by Object_h.template.

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef v8_inspector_protocol_Object_h
#define v8_inspector_protocol_Object_h

//#include "ErrorSupport.h"
//#include "Forward.h"
//#include "Values.h"

#include "v8//third_party/inspector_protocol/crdtp/serializable.h"

namespace v8_inspector {
namespace protocol {

class  Object : public v8_crdtp::Serializable {};

} // namespace v8_inspector
} // namespace protocol

#endif // !defined(v8_inspector_protocol_Object_h)


// This file is generated by ValueConversions_h.template.

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef v8_inspector_protocol_ValueConversions_h
#define v8_inspector_protocol_ValueConversions_h

//#include "ErrorSupport.h"
//#include "Forward.h"
//#include "Values.h"

namespace v8_inspector {
namespace protocol {

template<typename T>
struct ValueConversions {};

template<>
struct ValueConversions<bool> {};

template<>
struct ValueConversions<int> {};

template<>
struct ValueConversions<double> {};

template<>
struct ValueConversions<String> {};

template<>
struct ValueConversions<Binary> {};

ValueConversions<std::vector<std::unique_ptr<T>>>;

ValueConversions<std::vector<T>>;

template<>
struct ValueConversions<Value> {};

template<>
struct ValueConversions<DictionaryValue> {};

template<>
struct ValueConversions<ListValue> {};

template<typename T> struct ValueTypeConverter {};

} // namespace v8_inspector
} // namespace protocol

namespace v8_crdtp {

ProtocolTypeTraits<T, typename std::enable_if<std::is_base_of<v8_inspector::protocol::Value, T>::value>::type>;

template <>
struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::Value>> {};

template <>
struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::DictionaryValue>> {};

// TODO(caseq): get rid of it, it's just a DictionaryValue really.
template <>
struct ProtocolTypeTraits<std::unique_ptr<v8_inspector::protocol::Object>> {};

template<>
struct ProtocolTypeTraits<v8_inspector::protocol::Object> {};

}  // namespace v8_crdtp

#endif // !defined(v8_inspector_protocol_ValueConversions_h)