ad_map_access
ENUPoint.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>
28 namespace ad {
32 namespace map {
38 namespace point {
39 
51 struct ENUPoint
52 {
56  typedef std::shared_ptr<ENUPoint> Ptr;
57 
61  typedef std::shared_ptr<ENUPoint const> ConstPtr;
62 
66  ENUPoint() = default;
67 
71  ~ENUPoint() = default;
72 
76  ENUPoint(const ENUPoint &other) = default;
77 
81  ENUPoint(ENUPoint &&other) = default;
82 
90  ENUPoint &operator=(const ENUPoint &other) = default;
91 
99  ENUPoint &operator=(ENUPoint &&other) = default;
100 
108  bool operator==(const ENUPoint &other) const
109  {
110  return (x == other.x) && (y == other.y) && (z == other.z);
111  }
112 
120  bool operator!=(const ENUPoint &other) const
121  {
122  return !operator==(other);
123  }
124 
128  ::ad::map::point::ENUCoordinate x{std::numeric_limits<double>::quiet_NaN()};
129 
133  ::ad::map::point::ENUCoordinate y{std::numeric_limits<double>::quiet_NaN()};
134 
138  ::ad::map::point::ENUCoordinate z{std::numeric_limits<double>::quiet_NaN()};
139 };
140 
141 } // namespace point
142 } // namespace map
143 } // namespace ad
144 
148 #ifndef GEN_GUARD_AD_MAP_POINT_ENUPOINT
149 #define GEN_GUARD_AD_MAP_POINT_ENUPOINT
150 
153 namespace ad {
157 namespace map {
163 namespace point {
164 
174 inline std::ostream &operator<<(std::ostream &os, ENUPoint const &_value)
175 {
176  os << "ENUPoint(";
177  os << "x:";
178  os << _value.x;
179  os << ",";
180  os << "y:";
181  os << _value.y;
182  os << ",";
183  os << "z:";
184  os << _value.z;
185  os << ")";
186  return os;
187 }
188 
189 } // namespace point
190 } // namespace map
191 } // namespace ad
192 
193 namespace std {
197 inline std::string to_string(::ad::map::point::ENUPoint const &value)
198 {
199  stringstream sstream;
200  sstream << value;
201  return sstream.str();
202 }
203 } // namespace std
204 #endif // GEN_GUARD_AD_MAP_POINT_ENUPOINT
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::ENUPoint::operator!=
bool operator!=(const ENUPoint &other) const
standard comparison operator
Definition: ENUPoint.hpp:120
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::point::ENUPoint::Ptr
std::shared_ptr< ENUPoint > Ptr
Smart pointer on ENUPoint.
Definition: ENUPoint.hpp:56
ad::map::point::ENUPoint::y
::ad::map::point::ENUCoordinate y
Definition: ENUPoint.hpp:133
ad::map::point::ENUPoint::ConstPtr
std::shared_ptr< ENUPoint const > ConstPtr
Smart pointer on constant ENUPoint.
Definition: ENUPoint.hpp:61
ad::map::point::ENUPoint
DataType ENUPoint.
Definition: ENUPoint.hpp:51
ad::map::point::ENUPoint::z
::ad::map::point::ENUCoordinate z
Definition: ENUPoint.hpp:138
ad::map::point::ENUPoint::~ENUPoint
~ENUPoint()=default
standard destructor
ENUCoordinate.hpp
ad::map::point::ENUPoint::ENUPoint
ENUPoint()=default
standard constructor
ad::map::point::ENUPoint::x
::ad::map::point::ENUCoordinate x
Definition: ENUPoint.hpp:128
ad::map::point::ENUPoint::operator==
bool operator==(const ENUPoint &other) const
standard comparison operator
Definition: ENUPoint.hpp:108
ad::map::point::ENUPoint::operator=
ENUPoint & operator=(const ENUPoint &other)=default
standard assignment operator
ad::map::point::ENUCoordinate
DataType ENUCoordinate.
Definition: ENUCoordinate.hpp:65