scenario_simulator_v2 C++ API
relative_lane_range.hpp
Go to the documentation of this file.
1 // Copyright 2015 TIER IV, Inc. All rights reserved.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #ifndef OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_LANE_RANGE_HPP_
16 #define OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_LANE_RANGE_HPP_
17 
20 #include <optional>
21 #include <pugixml.hpp>
22 
24 {
25 inline namespace syntax
26 {
27 /*
28  RelativeLaneRange (OpenSCENARIO XML 1.3)
29 
30  <xsd:complexType name="RelativeLaneRange">
31  <xsd:attribute name="from" type="Int"/>
32  <xsd:attribute name="to" type="Int"/>
33  </xsd:complexType>
34 */
36 {
37  /*
38  The lower limit of the range. Range: [-inf, inf[. Default if omitted: -inf
39  */
40  const std::optional<Integer> from;
41 
42  /*
43  The upper limit of the range. Range: ]-inf, inf]. Default if omitted: +inf
44  */
45  const std::optional<Integer> to;
46 
47  explicit RelativeLaneRange(const pugi::xml_node &, Scope &);
48 
49  auto evaluate(Integer::value_type value) const -> bool;
50 };
51 } // namespace syntax
52 } // namespace openscenario_interpreter
53 
54 #endif // OPENSCENARIO_INTERPRETER__SYNTAX__RELATIVE_LANE_RANGE_HPP_
Definition: scope.hpp:154
Definition: escape_sequence.hpp:22
std::int64_t value_type
Definition: integer.hpp:28
Definition: relative_lane_range.hpp:36
const std::optional< Integer > to
Definition: relative_lane_range.hpp:45
RelativeLaneRange(const pugi::xml_node &, Scope &)
Definition: relative_lane_range.cpp:22
auto evaluate(Integer::value_type value) const -> bool
Definition: relative_lane_range.cpp:28
const std::optional< Integer > from
Definition: relative_lane_range.hpp:40