ad_rss
OccupiedRegion.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: LGPL-2.1-only
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/physics/ParametricRange.hpp"
29 namespace ad {
33 namespace rss {
37 namespace world {
38 
47 {
51  typedef std::shared_ptr<OccupiedRegion> Ptr;
52 
56  typedef std::shared_ptr<OccupiedRegion const> ConstPtr;
57 
61  OccupiedRegion() = default;
62 
66  ~OccupiedRegion() = default;
67 
71  OccupiedRegion(const OccupiedRegion &other) = default;
72 
76  OccupiedRegion(OccupiedRegion &&other) = default;
77 
85  OccupiedRegion &operator=(const OccupiedRegion &other) = default;
86 
94  OccupiedRegion &operator=(OccupiedRegion &&other) = default;
95 
103  bool operator==(const OccupiedRegion &other) const
104  {
105  return (segmentId == other.segmentId) && (lonRange == other.lonRange) && (latRange == other.latRange);
106  }
107 
115  bool operator!=(const OccupiedRegion &other) const
116  {
117  return !operator==(other);
118  }
119 
124 
128  ::ad::physics::ParametricRange lonRange;
129 
133  ::ad::physics::ParametricRange latRange;
134 };
135 
136 } // namespace world
137 } // namespace rss
138 } // namespace ad
139 
143 #ifndef GEN_GUARD_AD_RSS_WORLD_OCCUPIEDREGION
144 #define GEN_GUARD_AD_RSS_WORLD_OCCUPIEDREGION
145 
148 namespace ad {
152 namespace rss {
156 namespace world {
157 
167 inline std::ostream &operator<<(std::ostream &os, OccupiedRegion const &_value)
168 {
169  os << "OccupiedRegion(";
170  os << "segmentId:";
171  os << _value.segmentId;
172  os << ",";
173  os << "lonRange:";
174  os << _value.lonRange;
175  os << ",";
176  os << "latRange:";
177  os << _value.latRange;
178  os << ")";
179  return os;
180 }
181 
182 } // namespace world
183 } // namespace rss
184 } // namespace ad
185 
186 namespace std {
190 inline std::string to_string(::ad::rss::world::OccupiedRegion const &value)
191 {
192  stringstream sstream;
193  sstream << value;
194  return sstream.str();
195 }
196 } // namespace std
197 #endif // GEN_GUARD_AD_RSS_WORLD_OCCUPIEDREGION
ad
namespace ad
Definition: LateralRelativePosition.hpp:26
ad::rss::world::OccupiedRegion
DataType OccupiedRegion.
Definition: OccupiedRegion.hpp:46
ad::rss::world::OccupiedRegion::operator=
OccupiedRegion & operator=(const OccupiedRegion &other)=default
standard assignment operator
std::to_string
std::string to_string(::ad::rss::situation::LateralRelativePosition const &value)
overload of the std::to_string for LateralRelativePosition
Definition: LateralRelativePosition.hpp:160
ad::rss::world::OccupiedRegion::operator!=
bool operator!=(const OccupiedRegion &other) const
standard comparison operator
Definition: OccupiedRegion.hpp:115
ad::rss::world::OccupiedRegion::latRange
::ad::physics::ParametricRange latRange
Definition: OccupiedRegion.hpp:133
ad::rss::world::operator<<
std::ostream & operator<<(std::ostream &os, LaneDrivingDirection const &value)
standard ostream operator
Definition: LaneDrivingDirection.hpp:132
ad::rss::world::OccupiedRegion::OccupiedRegion
OccupiedRegion()=default
standard constructor
ad::rss::world::LaneSegmentId
uint64_t LaneSegmentId
DataType LaneSegmentId.
Definition: LaneSegmentId.hpp:39
ad::rss::world::OccupiedRegion::lonRange
::ad::physics::ParametricRange lonRange
Definition: OccupiedRegion.hpp:128
ad::rss::world::OccupiedRegion::~OccupiedRegion
~OccupiedRegion()=default
standard destructor
LaneSegmentId.hpp
ad::rss::world::OccupiedRegion::Ptr
std::shared_ptr< OccupiedRegion > Ptr
Smart pointer on OccupiedRegion.
Definition: OccupiedRegion.hpp:51
ad::rss::world::OccupiedRegion::ConstPtr
std::shared_ptr< OccupiedRegion const > ConstPtr
Smart pointer on constant OccupiedRegion.
Definition: OccupiedRegion.hpp:56
ad::rss::world::OccupiedRegion::operator==
bool operator==(const OccupiedRegion &other) const
standard comparison operator
Definition: OccupiedRegion.hpp:103
ad::rss::world::OccupiedRegion::segmentId
::ad::rss::world::LaneSegmentId segmentId
Definition: OccupiedRegion.hpp:123