ad_map_access
ENULandmark.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 <limits>
22 #include <memory>
23 #include <sstream>
32 namespace ad {
36 namespace map {
42 namespace landmark {
43 
50 {
54  typedef std::shared_ptr<ENULandmark> Ptr;
55 
59  typedef std::shared_ptr<ENULandmark const> ConstPtr;
60 
64  ENULandmark() = default;
65 
69  ~ENULandmark() = default;
70 
74  ENULandmark(const ENULandmark &other) = default;
75 
79  ENULandmark(ENULandmark &&other) = default;
80 
88  ENULandmark &operator=(const ENULandmark &other) = default;
89 
97  ENULandmark &operator=(ENULandmark &&other) = default;
98 
106  bool operator==(const ENULandmark &other) const
107  {
108  return (id == other.id) && (type == other.type) && (position == other.position) && (heading == other.heading)
109  && (trafficLightType == other.trafficLightType);
110  }
111 
119  bool operator!=(const ENULandmark &other) const
120  {
121  return !operator==(other);
122  }
123 
128 
133 
138 
144 };
145 
146 } // namespace landmark
147 } // namespace map
148 } // namespace ad
149 
153 #ifndef GEN_GUARD_AD_MAP_LANDMARK_ENULANDMARK
154 #define GEN_GUARD_AD_MAP_LANDMARK_ENULANDMARK
155 
158 namespace ad {
162 namespace map {
168 namespace landmark {
169 
179 inline std::ostream &operator<<(std::ostream &os, ENULandmark const &_value)
180 {
181  os << "ENULandmark(";
182  os << "id:";
183  os << _value.id;
184  os << ",";
185  os << "type:";
186  os << _value.type;
187  os << ",";
188  os << "position:";
189  os << _value.position;
190  os << ",";
191  os << "heading:";
192  os << _value.heading;
193  os << ",";
194  os << "trafficLightType:";
195  os << _value.trafficLightType;
196  os << ")";
197  return os;
198 }
199 
200 } // namespace landmark
201 } // namespace map
202 } // namespace ad
203 
204 namespace std {
208 inline std::string to_string(::ad::map::landmark::ENULandmark const &value)
209 {
210  stringstream sstream;
211  sstream << value;
212  return sstream.str();
213 }
214 } // namespace std
215 #endif // GEN_GUARD_AD_MAP_LANDMARK_ENULANDMARK
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ENUHeading.hpp
ad::map::landmark::operator<<
std::ostream & operator<<(std::ostream &os, ENULandmark const &_value)
standard ostream operator
Definition: ENULandmark.hpp:179
ad::map::landmark::ENULandmark::Ptr
std::shared_ptr< ENULandmark > Ptr
Smart pointer on ENULandmark.
Definition: ENULandmark.hpp:54
ad::map::landmark::ENULandmark::type
::ad::map::landmark::LandmarkType type
Definition: ENULandmark.hpp:132
ad::map::landmark::ENULandmark::position
::ad::map::point::ENUPoint position
Definition: ENULandmark.hpp:137
ad::map::landmark::ENULandmark::operator==
bool operator==(const ENULandmark &other) const
standard comparison operator
Definition: ENULandmark.hpp:106
ad::map::landmark::ENULandmark
DataType ENULandmark.
Definition: ENULandmark.hpp:49
ad::map::landmark::LandmarkId
DataType LandmarkId.
Definition: LandmarkId.hpp:66
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
ad::map::landmark::LandmarkType::INVALID
@ INVALID
ad::map::landmark::ENULandmark::ConstPtr
std::shared_ptr< ENULandmark const > ConstPtr
Smart pointer on constant ENULandmark.
Definition: ENULandmark.hpp:59
ad::map::landmark::ENULandmark::id
::ad::map::landmark::LandmarkId id
Definition: ENULandmark.hpp:127
ad::map::point::ENUPoint
DataType ENUPoint.
Definition: ENUPoint.hpp:51
ad::map::landmark::TrafficLightType
TrafficLightType
DataType TrafficLightType.
Definition: TrafficLightType.hpp:43
ad::map::point::ENUHeading
DataType ENUHeading.
Definition: ENUHeading.hpp:65
ad::map::landmark::TrafficLightType::INVALID
@ INVALID
LandmarkId.hpp
ad::map::landmark::ENULandmark::operator!=
bool operator!=(const ENULandmark &other) const
standard comparison operator
Definition: ENULandmark.hpp:119
ad::map::landmark::LandmarkType
LandmarkType
DataType LandmarkType.
Definition: LandmarkType.hpp:43
ENUPoint.hpp
TrafficLightType.hpp
LandmarkType.hpp
ad::map::landmark::ENULandmark::operator=
ENULandmark & operator=(const ENULandmark &other)=default
standard assignment operator
ad::map::landmark::ENULandmark::heading
::ad::map::point::ENUHeading heading
Definition: ENULandmark.hpp:142
ad::map::landmark::ENULandmark::ENULandmark
ENULandmark()=default
standard constructor
ad::map::landmark::ENULandmark::~ENULandmark
~ENULandmark()=default
standard destructor