ad_map_access
ParaPoint.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/ParametricValue.hpp"
29 namespace ad {
33 namespace map {
39 namespace point {
40 
48 struct ParaPoint
49 {
53  typedef std::shared_ptr<ParaPoint> Ptr;
54 
58  typedef std::shared_ptr<ParaPoint const> ConstPtr;
59 
63  ParaPoint() = default;
64 
68  ~ParaPoint() = default;
69 
73  ParaPoint(const ParaPoint &other) = default;
74 
78  ParaPoint(ParaPoint &&other) = default;
79 
87  ParaPoint &operator=(const ParaPoint &other) = default;
88 
96  ParaPoint &operator=(ParaPoint &&other) = default;
97 
105  bool operator==(const ParaPoint &other) const
106  {
107  return (laneId == other.laneId) && (parametricOffset == other.parametricOffset);
108  }
109 
117  bool operator!=(const ParaPoint &other) const
118  {
119  return !operator==(other);
120  }
121 
126 
136  ::ad::physics::ParametricValue parametricOffset;
137 };
138 
139 } // namespace point
140 } // namespace map
141 } // namespace ad
142 
146 #ifndef GEN_GUARD_AD_MAP_POINT_PARAPOINT
147 #define GEN_GUARD_AD_MAP_POINT_PARAPOINT
148 
151 namespace ad {
155 namespace map {
161 namespace point {
162 
172 inline std::ostream &operator<<(std::ostream &os, ParaPoint const &_value)
173 {
174  os << "ParaPoint(";
175  os << "laneId:";
176  os << _value.laneId;
177  os << ",";
178  os << "parametricOffset:";
179  os << _value.parametricOffset;
180  os << ")";
181  return os;
182 }
183 
184 } // namespace point
185 } // namespace map
186 } // namespace ad
187 
188 namespace std {
192 inline std::string to_string(::ad::map::point::ParaPoint const &value)
193 {
194  stringstream sstream;
195  sstream << value;
196  return sstream.str();
197 }
198 } // namespace std
199 #endif // GEN_GUARD_AD_MAP_POINT_PARAPOINT
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::point::operator<<
std::ostream & operator<<(std::ostream &os, Altitude const &_value)
standard ostream operator
Definition: Altitude.hpp:562
ad::map::point::ParaPoint::ParaPoint
ParaPoint()=default
standard constructor
ad::map::point::ParaPoint
DataType ParaPoint.
Definition: ParaPoint.hpp:48
ad::map::point::ParaPoint::operator!=
bool operator!=(const ParaPoint &other) const
standard comparison operator
Definition: ParaPoint.hpp:117
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::lane::LaneId
DataType LaneId.
Definition: LaneId.hpp:66
LaneId.hpp
ad::map::point::ParaPoint::operator=
ParaPoint & operator=(const ParaPoint &other)=default
standard assignment operator
ad::map::point::ParaPoint::~ParaPoint
~ParaPoint()=default
standard destructor
ad::map::point::ParaPoint::operator==
bool operator==(const ParaPoint &other) const
standard comparison operator
Definition: ParaPoint.hpp:105
ad::map::point::ParaPoint::parametricOffset
::ad::physics::ParametricValue parametricOffset
Definition: ParaPoint.hpp:136
ad::map::point::ParaPoint::ConstPtr
std::shared_ptr< ParaPoint const > ConstPtr
Smart pointer on constant ParaPoint.
Definition: ParaPoint.hpp:58
ad::map::point::ParaPoint::laneId
::ad::map::lane::LaneId laneId
Definition: ParaPoint.hpp:125
ad::map::point::ParaPoint::Ptr
std::shared_ptr< ParaPoint > Ptr
Smart pointer on ParaPoint.
Definition: ParaPoint.hpp:53