ad_map_access
MapEntry.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>
24 #include <string>
27 #include "ad/physics/Distance.hpp"
31 namespace ad {
35 namespace map {
41 namespace config {
42 
48 struct MapEntry
49 {
53  typedef std::shared_ptr<MapEntry> Ptr;
54 
58  typedef std::shared_ptr<MapEntry const> ConstPtr;
59 
63  MapEntry() = default;
64 
68  ~MapEntry() = default;
69 
73  MapEntry(const MapEntry &other) = default;
74 
78  MapEntry(MapEntry &&other) = default;
79 
87  MapEntry &operator=(const MapEntry &other) = default;
88 
96  MapEntry &operator=(MapEntry &&other) = default;
97 
105  bool operator==(const MapEntry &other) const
106  {
107  return (filename == other.filename) && (openDriveOverlapMargin == other.openDriveOverlapMargin)
109  && (openDriveDefaultTrafficLightType == other.openDriveDefaultTrafficLightType);
110  }
111 
119  bool operator!=(const MapEntry &other) const
120  {
121  return !operator==(other);
122  }
123 
127  std::string filename;
128 
132  ::ad::physics::Distance openDriveOverlapMargin{0.};
133 
138  ::ad::map::intersection::IntersectionType::Unknown};
139  ::ad::map::landmark::TrafficLightType openDriveDefaultTrafficLightType{
140  ::ad::map::landmark::TrafficLightType::SOLID_RED_YELLOW_GREEN};
141 };
142 
143 } // namespace config
144 } // namespace map
145 } // namespace ad
146 
150 #ifndef GEN_GUARD_AD_MAP_CONFIG_MAPENTRY
151 #define GEN_GUARD_AD_MAP_CONFIG_MAPENTRY
152 
155 namespace ad {
159 namespace map {
165 namespace config {
166 
176 inline std::ostream &operator<<(std::ostream &os, MapEntry const &_value)
177 {
178  os << "MapEntry(";
179  os << "filename:";
180  os << _value.filename;
181  os << ",";
182  os << "openDriveOverlapMargin:";
183  os << _value.openDriveOverlapMargin;
184  os << ",";
185  os << "openDriveDefaultIntersectionType:";
187  os << ",";
188  os << "openDriveDefaultTrafficLightType:";
189  os << _value.openDriveDefaultTrafficLightType;
190  os << ")";
191  return os;
192 }
193 
194 } // namespace config
195 } // namespace map
196 } // namespace ad
197 
198 namespace std {
202 inline std::string to_string(::ad::map::config::MapEntry const &value)
203 {
204  stringstream sstream;
205  sstream << value;
206  return sstream.str();
207 }
208 } // namespace std
209 #endif // GEN_GUARD_AD_MAP_CONFIG_MAPENTRY
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::config::MapEntry::operator=
MapEntry & operator=(const MapEntry &other)=default
standard assignment operator
ad::map::config::MapEntry::openDriveDefaultIntersectionType
::ad::map::intersection::IntersectionType openDriveDefaultIntersectionType
Definition: MapEntry.hpp:137
ad::map::config::MapEntry::openDriveOverlapMargin
::ad::physics::Distance openDriveOverlapMargin
Definition: MapEntry.hpp:132
ad::map::config::MapEntry
DataType MapEntry.
Definition: MapEntry.hpp:48
ad::map::config::MapEntry::Ptr
std::shared_ptr< MapEntry > Ptr
Smart pointer on MapEntry.
Definition: MapEntry.hpp:53
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::config::MapEntry::operator==
bool operator==(const MapEntry &other) const
standard comparison operator
Definition: MapEntry.hpp:105
ad::map::config::operator<<
std::ostream & operator<<(std::ostream &os, MapEntry const &_value)
standard ostream operator
Definition: MapEntry.hpp:176
ad::map::landmark::TrafficLightType
TrafficLightType
DataType TrafficLightType.
Definition: TrafficLightType.hpp:43
ad::map::config::MapEntry::filename
std::string filename
Definition: MapEntry.hpp:127
ad::map::intersection::IntersectionType
IntersectionType
DataType IntersectionType.
Definition: IntersectionType.hpp:43
ad::map::config::MapEntry::MapEntry
MapEntry()=default
standard constructor
ad::map::config::MapEntry::operator!=
bool operator!=(const MapEntry &other) const
standard comparison operator
Definition: MapEntry.hpp:119
ad::map::config::MapEntry::~MapEntry
~MapEntry()=default
standard destructor
IntersectionType.hpp
ad::map::config::MapEntry::ConstPtr
std::shared_ptr< MapEntry const > ConstPtr
Smart pointer on constant MapEntry.
Definition: MapEntry.hpp:58
TrafficLightType.hpp