ad_map_access
FullRoute.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>
32 namespace ad {
36 namespace map {
42 namespace route {
43 
59 struct FullRoute
60 {
64  typedef std::shared_ptr<FullRoute> Ptr;
65 
69  typedef std::shared_ptr<FullRoute const> ConstPtr;
70 
74  FullRoute() = default;
75 
79  ~FullRoute() = default;
80 
84  FullRoute(const FullRoute &other) = default;
85 
89  FullRoute(FullRoute &&other) = default;
90 
98  FullRoute &operator=(const FullRoute &other) = default;
99 
107  FullRoute &operator=(FullRoute &&other) = default;
108 
116  bool operator==(const FullRoute &other) const
117  {
118  return (roadSegments == other.roadSegments) && (routePlanningCounter == other.routePlanningCounter)
119  && (fullRouteSegmentCount == other.fullRouteSegmentCount)
122  }
123 
131  bool operator!=(const FullRoute &other) const
132  {
133  return !operator==(other);
134  }
135 
137  ::ad::map::route::RoutePlanningCounter routePlanningCounter{0u};
138  ::ad::map::route::SegmentCounter fullRouteSegmentCount{0u};
139 
144 
149 
154 
159  ::ad::map::route::RouteCreationMode routeCreationMode{::ad::map::route::RouteCreationMode::Undefined};
160 };
161 
162 } // namespace route
163 } // namespace map
164 } // namespace ad
165 
169 #ifndef GEN_GUARD_AD_MAP_ROUTE_FULLROUTE
170 #define GEN_GUARD_AD_MAP_ROUTE_FULLROUTE
171 
174 namespace ad {
178 namespace map {
184 namespace route {
185 
195 inline std::ostream &operator<<(std::ostream &os, FullRoute const &_value)
196 {
197  os << "FullRoute(";
198  os << "roadSegments:";
199  os << _value.roadSegments;
200  os << ",";
201  os << "routePlanningCounter:";
202  os << _value.routePlanningCounter;
203  os << ",";
204  os << "fullRouteSegmentCount:";
205  os << _value.fullRouteSegmentCount;
206  os << ",";
207  os << "destinationLaneOffset:";
208  os << _value.destinationLaneOffset;
209  os << ",";
210  os << "minLaneOffset:";
211  os << _value.minLaneOffset;
212  os << ",";
213  os << "maxLaneOffset:";
214  os << _value.maxLaneOffset;
215  os << ",";
216  os << "routeCreationMode:";
217  os << _value.routeCreationMode;
218  os << ")";
219  return os;
220 }
221 
222 } // namespace route
223 } // namespace map
224 } // namespace ad
225 
226 namespace std {
230 inline std::string to_string(::ad::map::route::FullRoute const &value)
231 {
232  stringstream sstream;
233  sstream << value;
234  return sstream.str();
235 }
236 } // namespace std
237 #endif // GEN_GUARD_AD_MAP_ROUTE_FULLROUTE
ad::map::route::FullRoute::~FullRoute
~FullRoute()=default
standard destructor
ad
namespace ad
Definition: GeometryStoreItem.hpp:28
ad::map::route::RouteCreationMode
RouteCreationMode
DataType RouteCreationMode.
Definition: RouteCreationMode.hpp:43
ad::map::route::FullRoute::operator!=
bool operator!=(const FullRoute &other) const
standard comparison operator
Definition: FullRoute.hpp:131
ad::map::route::FullRoute::operator==
bool operator==(const FullRoute &other) const
standard comparison operator
Definition: FullRoute.hpp:116
RoutePlanningCounter.hpp
ad::map::route::RoadSegmentList
std::vector<::ad::map::route::RoadSegment > RoadSegmentList
DataType RoadSegmentList.
Definition: RoadSegmentList.hpp:44
ad::map::route::FullRoute::operator=
FullRoute & operator=(const FullRoute &other)=default
standard assignment operator
SegmentCounter.hpp
ad::map::route::SegmentCounter
uint64_t SegmentCounter
DataType SegmentCounter.
Definition: SegmentCounter.hpp:41
ad::map::route::RoutePlanningCounter
uint64_t RoutePlanningCounter
DataType RoutePlanningCounter.
Definition: RoutePlanningCounter.hpp:39
ad::map::route::FullRoute::Ptr
std::shared_ptr< FullRoute > Ptr
Smart pointer on FullRoute.
Definition: FullRoute.hpp:64
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
RouteLaneOffset.hpp
ad::map::route::operator<<
std::ostream & operator<<(std::ostream &os, ConnectingRoute const &_value)
standard ostream operator
Definition: ConnectingRoute.hpp:193
ad::map::route::FullRoute::routeCreationMode
::ad::map::route::RouteCreationMode routeCreationMode
Definition: FullRoute.hpp:159
RouteCreationMode.hpp
ad::map::route::FullRoute::minLaneOffset
::ad::map::route::RouteLaneOffset minLaneOffset
Definition: FullRoute.hpp:148
RoadSegmentList.hpp
ad::map::route::FullRoute::destinationLaneOffset
::ad::map::route::RouteLaneOffset destinationLaneOffset
Definition: FullRoute.hpp:143
ad::map::route::FullRoute
DataType FullRoute.
Definition: FullRoute.hpp:59
ad::map::route::RouteLaneOffset
int32_t RouteLaneOffset
DataType RouteLaneOffset.
Definition: RouteLaneOffset.hpp:41
ad::map::route::FullRoute::maxLaneOffset
::ad::map::route::RouteLaneOffset maxLaneOffset
Definition: FullRoute.hpp:153
ad::map::route::FullRoute::FullRoute
FullRoute()=default
standard constructor
ad::map::route::FullRoute::ConstPtr
std::shared_ptr< FullRoute const > ConstPtr
Smart pointer on constant FullRoute.
Definition: FullRoute.hpp:69