ad_map_access
SerializeGeneratedPhysicsTypes.hpp
Go to the documentation of this file.
1 // ----------------- BEGIN LICENSE BLOCK ---------------------------------
2 //
3 // Copyright (C) 2018-2021 Intel Corporation
4 //
5 // SPDX-License-Identifier: MIT
6 //
7 // ----------------- END LICENSE BLOCK -----------------------------------
12 #pragma once
13 
15 #include "ad/physics/Distance.hpp"
16 #include "ad/physics/Duration.hpp"
17 #include "ad/physics/MetricRange.hpp"
18 #include "ad/physics/ParametricRange.hpp"
19 #include "ad/physics/ParametricValue.hpp"
20 #include "ad/physics/Speed.hpp"
21 #include "ad/physics/Weight.hpp"
22 
24 namespace ad {
26 namespace map {
28 namespace serialize {
29 
33 inline bool doSerialize(ISerializer &serializer, physics::ParametricValue &x)
34 {
35  return serializer.serializeGeneratedType<physics::ParametricValue, double, SerializeableMagic::ParametricValue>(x);
36 }
37 
41 inline bool doSerialize(ISerializer &serializer, physics::Distance &x)
42 {
43  return serializer.serializeGeneratedType<physics::Distance, double, SerializeableMagic::Distance>(x);
44 }
45 
49 inline bool doSerialize(ISerializer &serializer, physics::Duration &x)
50 {
51  return serializer.serializeGeneratedType<physics::Duration, double, SerializeableMagic::Duration>(x);
52 }
53 
57 inline bool doSerialize(ISerializer &serializer, physics::Speed &x)
58 {
59  return serializer.serializeGeneratedType<physics::Speed, double, SerializeableMagic::Speed>(x);
60 }
61 
65 inline bool doSerialize(ISerializer &serializer, physics::Weight &x)
66 {
67  return serializer.serializeGeneratedType<physics::Weight, double, SerializeableMagic::Weight>(x);
68 }
69 
73 inline bool doSerialize(ISerializer &serializer, physics::MetricRange &x)
74 {
75  return doSerialize(serializer, x.minimum) && doSerialize(serializer, x.maximum);
76 }
77 
81 inline bool doSerialize(ISerializer &serializer, physics::ParametricRange &x)
82 {
83  return serializer.serialize(SerializeableMagic::ParametricRange) && doSerialize(serializer, x.minimum)
84  && doSerialize(serializer, x.maximum);
85 }
86 
87 } // namespace serialize
88 } // namespace map
89 } // namespace ad
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::serialize::ISerializer
Interface for Serializer.
Definition: ISerializer.hpp:34
ISerializer.hpp