ad_map_access
LaneType.hpp
Go to the documentation of this file.
1 /*
2  * ----------------- BEGIN LICENSE BLOCK ---------------------------------
3  *
4  * Copyright (C) 2018-2020 Intel Corporation
5  *
6  * SPDX-License-Identifier: MIT
7  *
8  * ----------------- END LICENSE BLOCK -----------------------------------
9  */
10 
18 #pragma once
19 
20 #include <iostream>
21 #include <memory>
22 #include <string>
26 namespace ad {
30 namespace map {
36 namespace lane {
37 
43 enum class LaneType : int32_t
44 {
48  INVALID = 0,
52  UNKNOWN = 1,
56  NORMAL = 2,
60  INTERSECTION = 3,
64  SHOULDER = 4,
68  EMERGENCY = 5,
72  MULTI = 6,
76  PEDESTRIAN = 7,
80  OVERTAKING = 8,
84  TURN = 9,
88  BIKE = 10
89 };
90 
91 } // namespace lane
92 } // namespace map
93 } // namespace ad
97 std::string toString(::ad::map::lane::LaneType const e);
98 
117 template <typename EnumType> EnumType fromString(std::string const &str);
118 
137 template <>::ad::map::lane::LaneType fromString(std::string const &str);
138 
142 #ifndef GEN_GUARD_AD_MAP_LANE_LANETYPE
143 #define GEN_GUARD_AD_MAP_LANE_LANETYPE
144 
147 namespace ad {
151 namespace map {
157 namespace lane {
158 
168 inline std::ostream &operator<<(std::ostream &os, LaneType const &value)
169 {
170  return os << toString(value);
171 }
172 
173 } // namespace lane
174 } // namespace map
175 } // namespace ad
176 
177 namespace std {
181 inline std::string to_string(::ad::map::lane::LaneType const &value)
182 {
183  return ::toString(value);
184 }
185 } // namespace std
186 #endif // GEN_GUARD_AD_MAP_LANE_LANETYPE
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::lane::LaneType::UNKNOWN
@ UNKNOWN
ad::map::lane::LaneType::INTERSECTION
@ INTERSECTION
ad::map::lane::LaneType::EMERGENCY
@ EMERGENCY
ad::map::lane::LaneType::NORMAL
@ NORMAL
ad::map::lane::LaneType::INVALID
@ INVALID
fromString
EnumType fromString(std::string const &str)
Conversion from std::string to enum type T helper.
ad::map::lane::LaneType::BIKE
@ BIKE
std::to_string
std::string to_string(::ad::map::access::GeometryStoreItem const &value)
overload of the std::to_string for GeometryStoreItem
Definition: GeometryStoreItem.hpp:183
toString
std::string toString(::ad::map::lane::LaneType const e)
Conversion of ad::map::lane::LaneType to std::string helper.
ad::map::lane::LaneType::TURN
@ TURN
ad::map::lane::LaneType::PEDESTRIAN
@ PEDESTRIAN
ad::map::lane::operator<<
std::ostream & operator<<(std::ostream &os, ContactLane const &_value)
standard ostream operator
Definition: ContactLane.hpp:182
ad::map::lane::LaneType::SHOULDER
@ SHOULDER
ad::map::lane::LaneType
LaneType
DataType LaneType.
Definition: LaneType.hpp:43
ad::map::lane::LaneType::MULTI
@ MULTI
ad::map::lane::LaneType::OVERTAKING
@ OVERTAKING