���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /home/real/node-v13.0.1/tools/inspector_protocol/lib/ |
// This file is generated by Array_h.template. // Copyright 2016 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef {{"_".join(config.protocol.namespace)}}_Array_h #define {{"_".join(config.protocol.namespace)}}_Array_h //#include "ErrorSupport.h" //#include "Forward.h" //#include "ValueConversions.h" //#include "Values.h" {% for namespace in config.protocol.namespace %} namespace {{namespace}} { {% endfor %} template<typename T> class Array { public: static std::unique_ptr<Array<T>> create() { return std::unique_ptr<Array<T>>(new Array<T>()); } static std::unique_ptr<Array<T>> fromValue(protocol::Value* value, ErrorSupport* errors) { protocol::ListValue* array = ListValue::cast(value); if (!array) { errors->addError("array expected"); return nullptr; } std::unique_ptr<Array<T>> result(new Array<T>()); errors->push(); for (size_t i = 0; i < array->size(); ++i) { errors->setName(StringUtil::fromInteger(i)); std::unique_ptr<T> item = ValueConversions<T>::fromValue(array->at(i), errors); result->m_vector.push_back(std::move(item)); } errors->pop(); if (errors->hasErrors()) return nullptr; return result; } void addItem(std::unique_ptr<T> value) { m_vector.push_back(std::move(value)); } size_t length() { return m_vector.size(); } T* get(size_t index) { return m_vector[index].get(); } std::unique_ptr<protocol::ListValue> toValue() { std::unique_ptr<protocol::ListValue> result = ListValue::create(); for (auto& item : m_vector) result->pushValue(ValueConversions<T>::toValue(item)); return result; } private: std::vector<std::unique_ptr<T>> m_vector; }; template<typename T> class ArrayBase { public: static std::unique_ptr<Array<T>> create() { return std::unique_ptr<Array<T>>(new Array<T>()); } static std::unique_ptr<Array<T>> fromValue(protocol::Value* value, ErrorSupport* errors) { protocol::ListValue* array = ListValue::cast(value); if (!array) { errors->addError("array expected"); return nullptr; } errors->push(); std::unique_ptr<Array<T>> result(new Array<T>()); for (size_t i = 0; i < array->size(); ++i) { errors->setName(StringUtil::fromInteger(i)); T item = ValueConversions<T>::fromValue(array->at(i), errors); result->m_vector.push_back(item); } errors->pop(); if (errors->hasErrors()) return nullptr; return result; } void addItem(const T& value) { m_vector.push_back(value); } size_t length() { return m_vector.size(); } T get(size_t index) { return m_vector[index]; } std::unique_ptr<protocol::ListValue> toValue() { std::unique_ptr<protocol::ListValue> result = ListValue::create(); for (auto& item : m_vector) result->pushValue(ValueConversions<T>::toValue(item)); return result; } private: std::vector<T> m_vector; }; template<> class Array<String> : public ArrayBase<String> {}; template<> class Array<int> : public ArrayBase<int> {}; template<> class Array<double> : public ArrayBase<double> {}; template<> class Array<bool> : public ArrayBase<bool> {}; {% for namespace in config.protocol.namespace %} } // namespace {{namespace}} {% endfor %} #endif // !defined({{"_".join(config.protocol.namespace)}}_Array_h)