Branch data Line data Source code
1 : : /* 2 : : * ----------------- BEGIN LICENSE BLOCK --------------------------------- 3 : : * 4 : : * Copyright (C) 2018-2020 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-1997 16 : : */ 17 : : 18 : : #pragma once 19 : : 20 : : #include <iostream> 21 : : #include <memory> 22 : : #include <string> 23 : : /*! 24 : : * @brief namespace ad 25 : : */ 26 : : namespace ad { 27 : : /*! 28 : : * @brief namespace rss 29 : : */ 30 : : namespace rss { 31 : : /*! 32 : : * @brief namespace world 33 : : */ 34 : : namespace world { 35 : : 36 : : /*! 37 : : * \brief DataType LaneDrivingDirection 38 : : */ 39 : : enum class LaneDrivingDirection : int32_t 40 : : { 41 : : /*! 42 : : * Traffic flow in this lane segment is in both directions. 43 : : */ 44 : : Bidirectional = 0, 45 : : 46 : : /*! 47 : : * Nominal traffic flow in this lane segment is positive RoadArea direction. 48 : : */ 49 : : Positive = 1, 50 : : 51 : : /*! 52 : : * Nominal traffic flow in this lane segment is negative RoadArea direction. 53 : : */ 54 : : Negative = 2 55 : : }; 56 : : 57 : : } // namespace world 58 : : } // namespace rss 59 : : } // namespace ad 60 : : /*! 61 : : * \brief Conversion of ::ad::rss::world::LaneDrivingDirection to std::string helper. 62 : : */ 63 : : std::string toString(::ad::rss::world::LaneDrivingDirection const e); 64 : : 65 : : /*! 66 : : * \brief Conversion from std::string to enum type T helper. 67 : : * 68 : : * \param [in] str - a fully qualified string name of enum class type 69 : : * 70 : : * \return T enum value 71 : : * 72 : : * \throws std::out_of_range exception if the given string does not match any enum type 73 : : * 74 : : * Example usage: 75 : : * \code 76 : : * auto value = fromString<SomeEnumType>("SomeEnumType::eValue"); 77 : : * assert(value == SomeEnumType::eValue); 78 : : * // Or: 79 : : * auto value = fromString<SomeEnumType>("eValue"); 80 : : * assert(value == SomeEnumType::eValue); 81 : : * \endcode 82 : : */ 83 : : template <typename EnumType> EnumType fromString(std::string const &str); 84 : : 85 : : /*! 86 : : * \brief Conversion from std::string to enum type T helper. 87 : : * 88 : : * \param [in] str - a fully qualified string name of enum class type 89 : : * 90 : : * \return T enum value 91 : : * 92 : : * \throws std::out_of_range exception if the given string does not match any enum type 93 : : * 94 : : * Example usage: 95 : : * \code 96 : : * auto value = fromString<SomeEnumType>("SomeEnumType::eValue"); 97 : : * assert(value == SomeEnumType::eValue); 98 : : * // Or: 99 : : * auto value = fromString<SomeEnumType>("eValue"); 100 : : * assert(value == SomeEnumType::eValue); 101 : : * \endcode 102 : : */ 103 : : template <>::ad::rss::world::LaneDrivingDirection fromString(std::string const &str); 104 : : 105 : : /*! 106 : : * \brief protect the definition of functions from duplicates by typedef usage within other data types 107 : : */ 108 : : #ifndef GEN_GUARD_AD_RSS_WORLD_LANEDRIVINGDIRECTION 109 : : #define GEN_GUARD_AD_RSS_WORLD_LANEDRIVINGDIRECTION 110 : : /*! 111 : : * @brief namespace ad 112 : : */ 113 : : namespace ad { 114 : : /*! 115 : : * @brief namespace rss 116 : : */ 117 : : namespace rss { 118 : : /*! 119 : : * @brief namespace world 120 : : */ 121 : : namespace world { 122 : : 123 : : /** 124 : : * \brief standard ostream operator 125 : : * 126 : : * \param[in] os The output stream to write to 127 : : * \param[in] value LaneDrivingDirection value 128 : : * 129 : : * \returns The stream object. 130 : : * 131 : : */ 132 : 6630 : inline std::ostream &operator<<(std::ostream &os, LaneDrivingDirection const &value) 133 : : { 134 [ + - ]: 6630 : return os << toString(value); 135 : : } 136 : : 137 : : } // namespace world 138 : : } // namespace rss 139 : : } // namespace ad 140 : : 141 : : namespace std { 142 : : /*! 143 : : * \brief overload of the std::to_string for LaneDrivingDirection 144 : : */ 145 : : inline std::string to_string(::ad::rss::world::LaneDrivingDirection const &value) 146 : : { 147 : : return ::toString(value); 148 : : } 149 : : } // namespace std 150 : : #endif // GEN_GUARD_AD_RSS_WORLD_LANEDRIVINGDIRECTION