Branch data Line data Source code
1 : : /* 2 : : * ----------------- BEGIN LICENSE BLOCK --------------------------------- 3 : : * 4 : : * Copyright (C) 2018-2022 Intel Corporation 5 : : * 6 : : * SPDX-License-Identifier: LGPL-2.1-only 7 : : * 8 : : * ----------------- END LICENSE BLOCK ----------------------------------- 9 : : */ 10 : : 11 : : /** 12 : : * Generated file 13 : : * @file 14 : : * 15 : : * Generator Version : 11.0.0-2046 16 : : */ 17 : : 18 : : #pragma once 19 : : 20 : : #include <iostream> 21 : : #include <memory> 22 : : #include <sstream> 23 : : #include "ad/rss/map/RssConstellationCreationMode.hpp" 24 : : #include "ad/rss/map/RssRestrictSpeedLimitMode.hpp" 25 : : #include "ad/rss/world/RssDynamics.hpp" 26 : : /*! 27 : : * @brief namespace ad 28 : : */ 29 : : namespace ad { 30 : : /*! 31 : : * @brief namespace rss 32 : : */ 33 : : namespace rss { 34 : : /*! 35 : : * @brief namespace map 36 : : */ 37 : : namespace map { 38 : : 39 : : /*! 40 : : * \brief DataType RssConstellationConfiguration 41 : : */ 42 : : struct RssConstellationConfiguration 43 : : { 44 : : /*! 45 : : * \brief Smart pointer on RssConstellationConfiguration 46 : : */ 47 : : typedef std::shared_ptr<RssConstellationConfiguration> Ptr; 48 : : 49 : : /*! 50 : : * \brief Smart pointer on constant RssConstellationConfiguration 51 : : */ 52 : : typedef std::shared_ptr<RssConstellationConfiguration const> ConstPtr; 53 : : 54 : : /*! 55 : : * \brief standard constructor 56 : : */ 57 : 79 : RssConstellationConfiguration() = default; 58 : : 59 : : /*! 60 : : * \brief standard destructor 61 : : */ 62 : : ~RssConstellationConfiguration() = default; 63 : : 64 : : /*! 65 : : * \brief standard copy constructor 66 : : */ 67 : : RssConstellationConfiguration(const RssConstellationConfiguration &other) = default; 68 : : 69 : : /*! 70 : : * \brief standard move constructor 71 : : */ 72 : : RssConstellationConfiguration(RssConstellationConfiguration &&other) = default; 73 : : 74 : : /** 75 : : * \brief standard assignment operator 76 : : * 77 : : * \param[in] other Other RssConstellationConfiguration 78 : : * 79 : : * \returns Reference to this RssConstellationConfiguration. 80 : : */ 81 : : RssConstellationConfiguration &operator=(const RssConstellationConfiguration &other) = default; 82 : : 83 : : /** 84 : : * \brief standard move operator 85 : : * 86 : : * \param[in] other Other RssConstellationConfiguration 87 : : * 88 : : * \returns Reference to this RssConstellationConfiguration. 89 : : */ 90 : : RssConstellationConfiguration &operator=(RssConstellationConfiguration &&other) = default; 91 : : 92 : : /** 93 : : * \brief standard comparison operator 94 : : * 95 : : * \param[in] other Other RssConstellationConfiguration 96 : : * 97 : : * \returns \c true if both RssConstellationConfiguration are equal 98 : : */ 99 : 14 : bool operator==(const RssConstellationConfiguration &other) const 100 : : { 101 : 14 : return (constellation_creation_mode == other.constellation_creation_mode) 102 [ + + ]: 12 : && (restrict_speed_limit_mode == other.restrict_speed_limit_mode) 103 [ + + + + : 26 : && (ego_vehicle_dynamics == other.ego_vehicle_dynamics) && (object_dynamics == other.object_dynamics); + + ] 104 : : } 105 : : 106 : : /** 107 : : * \brief standard comparison operator 108 : : * 109 : : * \param[in] other Other RssConstellationConfiguration. 110 : : * 111 : : * \returns \c true if both RssConstellationConfiguration are different 112 : : */ 113 : 5 : bool operator!=(const RssConstellationConfiguration &other) const 114 : : { 115 : 5 : return !operator==(other); 116 : : } 117 : : 118 : : /*! 119 : : * The mode to be considered on scene creation of this constellation. 120 : : */ 121 : : ::ad::rss::map::RssConstellationCreationMode constellation_creation_mode{ 122 : : ::ad::rss::map::RssConstellationCreationMode::Ignore}; 123 : : 124 : : /*! 125 : : * The mode for restricting speed limits within acceleration phase. 126 : : */ 127 : : ::ad::rss::map::RssRestrictSpeedLimitMode restrict_speed_limit_mode{::ad::rss::map::RssRestrictSpeedLimitMode::None}; 128 : : 129 : : /*! 130 : : * The RSS dynamics to be used for the ego vehicle in this constellation. 131 : : */ 132 : : ::ad::rss::world::RssDynamics ego_vehicle_dynamics; 133 : : 134 : : /*! 135 : : * The RSS dynamics to be used for the other object in this constellation. 136 : : */ 137 : : ::ad::rss::world::RssDynamics object_dynamics; 138 : : }; 139 : : 140 : : } // namespace map 141 : : } // namespace rss 142 : : } // namespace ad 143 : : 144 : : /*! 145 : : * \brief protect the definition of functions from duplicates by typedef usage within other data types 146 : : */ 147 : : #ifndef GEN_GUARD_AD_RSS_MAP_RSSCONSTELLATIONCONFIGURATION 148 : : #define GEN_GUARD_AD_RSS_MAP_RSSCONSTELLATIONCONFIGURATION 149 : : /*! 150 : : * @brief namespace ad 151 : : */ 152 : : namespace ad { 153 : : /*! 154 : : * @brief namespace rss 155 : : */ 156 : : namespace rss { 157 : : /*! 158 : : * @brief namespace map 159 : : */ 160 : : namespace map { 161 : : 162 : : /** 163 : : * \brief standard ostream operator 164 : : * 165 : : * \param[in] os The output stream to write to 166 : : * \param[in] _value RssConstellationConfiguration value 167 : : * 168 : : * \returns The stream object. 169 : : * 170 : : */ 171 : 10 : inline std::ostream &operator<<(std::ostream &os, RssConstellationConfiguration const &_value) 172 : : { 173 : 10 : os << "RssConstellationConfiguration("; 174 : 10 : os << "constellation_creation_mode:"; 175 : 10 : os << _value.constellation_creation_mode; 176 : 10 : os << ","; 177 : 10 : os << "restrict_speed_limit_mode:"; 178 : 10 : os << _value.restrict_speed_limit_mode; 179 : 10 : os << ","; 180 : 10 : os << "ego_vehicle_dynamics:"; 181 : 10 : os << _value.ego_vehicle_dynamics; 182 : 10 : os << ","; 183 : 10 : os << "object_dynamics:"; 184 : 10 : os << _value.object_dynamics; 185 : 10 : os << ")"; 186 : 10 : return os; 187 : : } 188 : : 189 : : } // namespace map 190 : : } // namespace rss 191 : : } // namespace ad 192 : : 193 : : namespace std { 194 : : /*! 195 : : * \brief overload of the std::to_string for RssConstellationConfiguration 196 : : */ 197 : 9 : inline std::string to_string(::ad::rss::map::RssConstellationConfiguration const &value) 198 : : { 199 [ + - ]: 9 : stringstream sstream; 200 [ + - ]: 9 : sstream << value; 201 [ + - ]: 18 : return sstream.str(); 202 : 9 : } 203 : : } // namespace std 204 : : 205 : : /*! 206 : : * \brief overload of fmt::formatter calling std::to_string 207 : : */ 208 : : template <> struct fmt::formatter<::ad::rss::map::RssConstellationConfiguration> : formatter<string_view> 209 : : { 210 : : template <typename FormatContext> 211 : 8 : auto format(::ad::rss::map::RssConstellationConfiguration const &value, FormatContext &ctx) 212 : : { 213 : 16 : return formatter<string_view>::format(std::to_string(value), ctx); 214 : : } 215 : : }; 216 : : 217 : : #endif // GEN_GUARD_AD_RSS_MAP_RSSCONSTELLATIONCONFIGURATION