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/RssObjectData.hpp" 24 : : #include "ad/rss/map/RssRouteCheckResultList.hpp" 25 : : /*! 26 : : * @brief namespace ad 27 : : */ 28 : : namespace ad { 29 : : /*! 30 : : * @brief namespace rss 31 : : */ 32 : : namespace rss { 33 : : /*! 34 : : * @brief namespace map 35 : : */ 36 : : namespace map { 37 : : 38 : : /*! 39 : : * \brief DataType RssObjectResult 40 : : * 41 : : * Provides information on the RssObjectData of every object considered by the analysis 42 : : * including all types i.e. EgoVehicle, OtherVehicle, Pedestrian and ArtificialObject. 43 : : * In addition, the RSS situation results of every vehicle processed as EgoVehicle 44 : : * is provided. 45 : : */ 46 : : struct RssObjectResult 47 : : { 48 : : /*! 49 : : * \brief Smart pointer on RssObjectResult 50 : : */ 51 : : typedef std::shared_ptr<RssObjectResult> Ptr; 52 : : 53 : : /*! 54 : : * \brief Smart pointer on constant RssObjectResult 55 : : */ 56 : : typedef std::shared_ptr<RssObjectResult const> ConstPtr; 57 : : 58 : : /*! 59 : : * \brief standard constructor 60 : : */ 61 : 51 : RssObjectResult() = default; 62 : : 63 : : /*! 64 : : * \brief standard destructor 65 : : */ 66 : 114 : ~RssObjectResult() = default; 67 : : 68 : : /*! 69 : : * \brief standard copy constructor 70 : : */ 71 [ + - ]: 39 : RssObjectResult(const RssObjectResult &other) = default; 72 : : 73 : : /*! 74 : : * \brief standard move constructor 75 : : */ 76 : 24 : RssObjectResult(RssObjectResult &&other) = default; 77 : : 78 : : /** 79 : : * \brief standard assignment operator 80 : : * 81 : : * \param[in] other Other RssObjectResult 82 : : * 83 : : * \returns Reference to this RssObjectResult. 84 : : */ 85 : 9 : RssObjectResult &operator=(const RssObjectResult &other) = default; 86 : : 87 : : /** 88 : : * \brief standard move operator 89 : : * 90 : : * \param[in] other Other RssObjectResult 91 : : * 92 : : * \returns Reference to this RssObjectResult. 93 : : */ 94 : 1 : RssObjectResult &operator=(RssObjectResult &&other) = default; 95 : : 96 : : /** 97 : : * \brief standard comparison operator 98 : : * 99 : : * \param[in] other Other RssObjectResult 100 : : * 101 : : * \returns \c true if both RssObjectResult are equal 102 : : */ 103 : 10 : bool operator==(const RssObjectResult &other) const 104 : : { 105 [ + + + + ]: 10 : return (object_data == other.object_data) && (situation_check_results == other.situation_check_results); 106 : : } 107 : : 108 : : /** 109 : : * \brief standard comparison operator 110 : : * 111 : : * \param[in] other Other RssObjectResult. 112 : : * 113 : : * \returns \c true if both RssObjectResult are different 114 : : */ 115 : 3 : bool operator!=(const RssObjectResult &other) const 116 : : { 117 : 3 : return !operator==(other); 118 : : } 119 : : 120 : : /*! 121 : : * The object this results refer to. 122 : : */ 123 : : ::ad::rss::map::RssObjectData object_data; 124 : : 125 : : /*! 126 : : * The situation results of the object. 127 : : */ 128 : : ::ad::rss::map::RssRouteCheckResultList situation_check_results; 129 : : }; 130 : : 131 : : } // namespace map 132 : : } // namespace rss 133 : : } // namespace ad 134 : : 135 : : /*! 136 : : * \brief protect the definition of functions from duplicates by typedef usage within other data types 137 : : */ 138 : : #ifndef GEN_GUARD_AD_RSS_MAP_RSSOBJECTRESULT 139 : : #define GEN_GUARD_AD_RSS_MAP_RSSOBJECTRESULT 140 : : /*! 141 : : * @brief namespace ad 142 : : */ 143 : : namespace ad { 144 : : /*! 145 : : * @brief namespace rss 146 : : */ 147 : : namespace rss { 148 : : /*! 149 : : * @brief namespace map 150 : : */ 151 : : namespace map { 152 : : 153 : : /** 154 : : * \brief standard ostream operator 155 : : * 156 : : * \param[in] os The output stream to write to 157 : : * \param[in] _value RssObjectResult value 158 : : * 159 : : * \returns The stream object. 160 : : * 161 : : */ 162 : 7 : inline std::ostream &operator<<(std::ostream &os, RssObjectResult const &_value) 163 : : { 164 : 7 : os << "RssObjectResult("; 165 : 7 : os << "object_data:"; 166 : 7 : os << _value.object_data; 167 : 7 : os << ","; 168 : 7 : os << "situation_check_results:"; 169 : 7 : os << _value.situation_check_results; 170 : 7 : os << ")"; 171 : 7 : return os; 172 : : } 173 : : 174 : : } // namespace map 175 : : } // namespace rss 176 : : } // namespace ad 177 : : 178 : : namespace std { 179 : : /*! 180 : : * \brief overload of the std::to_string for RssObjectResult 181 : : */ 182 : 5 : inline std::string to_string(::ad::rss::map::RssObjectResult const &value) 183 : : { 184 [ + - ]: 5 : stringstream sstream; 185 [ + - ]: 5 : sstream << value; 186 [ + - ]: 10 : return sstream.str(); 187 : 5 : } 188 : : } // namespace std 189 : : 190 : : /*! 191 : : * \brief overload of fmt::formatter calling std::to_string 192 : : */ 193 : : template <> struct fmt::formatter<::ad::rss::map::RssObjectResult> : formatter<string_view> 194 : : { 195 : 4 : template <typename FormatContext> auto format(::ad::rss::map::RssObjectResult const &value, FormatContext &ctx) 196 : : { 197 : 8 : return formatter<string_view>::format(std::to_string(value), ctx); 198 : : } 199 : : }; 200 : : 201 : : #endif // GEN_GUARD_AD_RSS_MAP_RSSOBJECTRESULT