ad_map_access
ECEFBorder.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 <memory>
22 #include <sstream>
27 namespace ad {
31 namespace map {
37 namespace lane {
38 
44 struct ECEFBorder
45 {
49  typedef std::shared_ptr<ECEFBorder> Ptr;
50 
54  typedef std::shared_ptr<ECEFBorder const> ConstPtr;
55 
59  ECEFBorder() = default;
60 
64  ~ECEFBorder() = default;
65 
69  ECEFBorder(const ECEFBorder &other) = default;
70 
74  ECEFBorder(ECEFBorder &&other) = default;
75 
83  ECEFBorder &operator=(const ECEFBorder &other) = default;
84 
92  ECEFBorder &operator=(ECEFBorder &&other) = default;
93 
101  bool operator==(const ECEFBorder &other) const
102  {
103  return (left == other.left) && (right == other.right);
104  }
105 
113  bool operator!=(const ECEFBorder &other) const
114  {
115  return !operator==(other);
116  }
117 
122 
127 };
128 
129 } // namespace lane
130 } // namespace map
131 } // namespace ad
132 
136 #ifndef GEN_GUARD_AD_MAP_LANE_ECEFBORDER
137 #define GEN_GUARD_AD_MAP_LANE_ECEFBORDER
138 
141 namespace ad {
145 namespace map {
151 namespace lane {
152 
162 inline std::ostream &operator<<(std::ostream &os, ECEFBorder const &_value)
163 {
164  os << "ECEFBorder(";
165  os << "left:";
166  os << _value.left;
167  os << ",";
168  os << "right:";
169  os << _value.right;
170  os << ")";
171  return os;
172 }
173 
174 } // namespace lane
175 } // namespace map
176 } // namespace ad
177 
178 namespace std {
182 inline std::string to_string(::ad::map::lane::ECEFBorder const &value)
183 {
184  stringstream sstream;
185  sstream << value;
186  return sstream.str();
187 }
188 } // namespace std
189 #endif // GEN_GUARD_AD_MAP_LANE_ECEFBORDER
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::lane::ECEFBorder::~ECEFBorder
~ECEFBorder()=default
standard destructor
ECEFEdge.hpp
ad::map::lane::ECEFBorder::Ptr
std::shared_ptr< ECEFBorder > Ptr
Smart pointer on ECEFBorder.
Definition: ECEFBorder.hpp:49
ad::map::lane::ECEFBorder
DataType ECEFBorder.
Definition: ECEFBorder.hpp:44
ad::map::lane::ECEFBorder::ECEFBorder
ECEFBorder()=default
standard constructor
ad::map::lane::ECEFBorder::operator==
bool operator==(const ECEFBorder &other) const
standard comparison operator
Definition: ECEFBorder.hpp:101
ad::map::lane::ECEFBorder::ConstPtr
std::shared_ptr< ECEFBorder const > ConstPtr
Smart pointer on constant ECEFBorder.
Definition: ECEFBorder.hpp:54
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::ECEFBorder::operator=
ECEFBorder & operator=(const ECEFBorder &other)=default
standard assignment operator
ad::map::lane::ECEFBorder::right
::ad::map::point::ECEFEdge right
Definition: ECEFBorder.hpp:126
ad::map::lane::operator<<
std::ostream & operator<<(std::ostream &os, ContactLane const &_value)
standard ostream operator
Definition: ContactLane.hpp:182
ad::map::lane::ECEFBorder::left
::ad::map::point::ECEFEdge left
Definition: ECEFBorder.hpp:121
ad::map::lane::ECEFBorder::operator!=
bool operator!=(const ECEFBorder &other) const
standard comparison operator
Definition: ECEFBorder.hpp:113
ad::map::point::ECEFEdge
std::vector<::ad::map::point::ECEFPoint > ECEFEdge
DataType ECEFEdge.
Definition: ECEFEdge.hpp:42