Properties.hpp
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace dai {
6 
8 struct Properties {
9  virtual void serialize(std::vector<std::uint8_t>& data, SerializationType type) const = 0;
10  virtual std::unique_ptr<Properties> clone() const = 0;
11  virtual ~Properties() = default;
12 };
13 
15 template <typename Base, typename Derived>
16 struct PropertiesSerializable : Base {
17  virtual void serialize(std::vector<std::uint8_t>& data, SerializationType type = SerializationType::LIBNOP) const override {
18  utility::serialize(static_cast<const Derived&>(*this), data, type);
19  }
20 
21  virtual std::unique_ptr<Properties> clone() const override {
22  return std::make_unique<Derived>(static_cast<const Derived&>(*this));
23  }
24 };
25 
26 } // namespace dai
dai::PropertiesSerializable::serialize
virtual void serialize(std::vector< std::uint8_t > &data, SerializationType type=SerializationType::LIBNOP) const override
Definition: Properties.hpp:17
dai::utility::serialize
bool serialize(const T &obj, std::vector< std::uint8_t > &data)
Definition: Serialization.hpp:38
dai::Properties::clone
virtual std::unique_ptr< Properties > clone() const =0
DAI_SPAN_NAMESPACE_NAME::detail::data
constexpr auto data(C &c) -> decltype(c.data())
Definition: span.hpp:177
dai::SerializationType::LIBNOP
@ LIBNOP
dai::SerializationType
SerializationType
Definition: Serialization.hpp:27
nanorpc::core::detail::pack::meta::type
type
Definition: pack_meta.h:26
dai::Properties
Base Properties structure.
Definition: Properties.hpp:8
Serialization.hpp
dai::Properties::~Properties
virtual ~Properties()=default
dai::Properties::serialize
virtual void serialize(std::vector< std::uint8_t > &data, SerializationType type) const =0
dai::PropertiesSerializable
Serializable properties.
Definition: Properties.hpp:16
dai::PropertiesSerializable::clone
virtual std::unique_ptr< Properties > clone() const override
Definition: Properties.hpp:21
dai
Definition: CameraExposureOffset.hpp:6


depthai
Author(s): Martin Peterlin
autogenerated on Sat Mar 22 2025 02:58:19