ad_map_access
LaneOccupiedRegion.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 "ad/map/lane/LaneId.hpp"
25 #include "ad/physics/ParametricRange.hpp"
29 namespace ad {
33 namespace map {
39 namespace match {
40 
47 {
51  typedef std::shared_ptr<LaneOccupiedRegion> Ptr;
52 
56  typedef std::shared_ptr<LaneOccupiedRegion const> ConstPtr;
57 
61  LaneOccupiedRegion() = default;
62 
66  ~LaneOccupiedRegion() = default;
67 
71  LaneOccupiedRegion(const LaneOccupiedRegion &other) = default;
72 
76  LaneOccupiedRegion(LaneOccupiedRegion &&other) = default;
77 
85  LaneOccupiedRegion &operator=(const LaneOccupiedRegion &other) = default;
86 
95 
103  bool operator==(const LaneOccupiedRegion &other) const
104  {
105  return (laneId == other.laneId) && (longitudinalRange == other.longitudinalRange)
106  && (lateralRange == other.lateralRange);
107  }
108 
116  bool operator!=(const LaneOccupiedRegion &other) const
117  {
118  return !operator==(other);
119  }
120 
121  ::ad::map::lane::LaneId laneId{0};
122  ::ad::physics::ParametricRange longitudinalRange;
123  ::ad::physics::ParametricRange lateralRange;
124 };
125 
126 } // namespace match
127 } // namespace map
128 } // namespace ad
129 
133 #ifndef GEN_GUARD_AD_MAP_MATCH_LANEOCCUPIEDREGION
134 #define GEN_GUARD_AD_MAP_MATCH_LANEOCCUPIEDREGION
135 
138 namespace ad {
142 namespace map {
148 namespace match {
149 
159 inline std::ostream &operator<<(std::ostream &os, LaneOccupiedRegion const &_value)
160 {
161  os << "LaneOccupiedRegion(";
162  os << "laneId:";
163  os << _value.laneId;
164  os << ",";
165  os << "longitudinalRange:";
166  os << _value.longitudinalRange;
167  os << ",";
168  os << "lateralRange:";
169  os << _value.lateralRange;
170  os << ")";
171  return os;
172 }
173 
174 } // namespace match
175 } // namespace map
176 } // namespace ad
177 
178 namespace std {
182 inline std::string to_string(::ad::map::match::LaneOccupiedRegion const &value)
183 {
184  stringstream sstream;
185  sstream << value;
186  return sstream.str();
187 }
188 } // namespace std
189 #endif // GEN_GUARD_AD_MAP_MATCH_LANEOCCUPIEDREGION
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::match::LaneOccupiedRegion::operator!=
bool operator!=(const LaneOccupiedRegion &other) const
standard comparison operator
Definition: LaneOccupiedRegion.hpp:116
ad::map::match::LaneOccupiedRegion
DataType LaneOccupiedRegion.
Definition: LaneOccupiedRegion.hpp:46
ad::map::match::LaneOccupiedRegion::operator=
LaneOccupiedRegion & operator=(const LaneOccupiedRegion &other)=default
standard assignment operator
ad::map::match::LaneOccupiedRegion::LaneOccupiedRegion
LaneOccupiedRegion()=default
standard constructor
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::match::LaneOccupiedRegion::~LaneOccupiedRegion
~LaneOccupiedRegion()=default
standard destructor
ad::map::lane::LaneId
DataType LaneId.
Definition: LaneId.hpp:66
LaneId.hpp
ad::map::match::LaneOccupiedRegion::operator==
bool operator==(const LaneOccupiedRegion &other) const
standard comparison operator
Definition: LaneOccupiedRegion.hpp:103
ad::map::match::operator<<
std::ostream & operator<<(std::ostream &os, ENUObjectPosition const &_value)
standard ostream operator
Definition: ENUObjectPosition.hpp:175
ad::map::match::LaneOccupiedRegion::ConstPtr
std::shared_ptr< LaneOccupiedRegion const > ConstPtr
Smart pointer on constant LaneOccupiedRegion.
Definition: LaneOccupiedRegion.hpp:56
ad::map::match::LaneOccupiedRegion::Ptr
std::shared_ptr< LaneOccupiedRegion > Ptr
Smart pointer on LaneOccupiedRegion.
Definition: LaneOccupiedRegion.hpp:51