Autoware.Auto
variable.hpp
Go to the documentation of this file.
1 // Copyright 2021 the Autoware Foundation
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 // Developed by Apex.AI, Inc.
16 
21 
22 #ifndef KALMAN_FILTER__VARIABLE_HPP_
23 #define KALMAN_FILTER__VARIABLE_HPP_
24 
26 
27 #include <type_traits>
28 
29 
30 namespace autoware
31 {
32 namespace prediction
33 {
34 
38 struct KALMAN_FILTER_PUBLIC Variable {};
39 
45 struct KALMAN_FILTER_PUBLIC AngleVariable : Variable {};
46 
52 template<typename T>
53 struct KALMAN_FILTER_PUBLIC is_variable : std::conditional_t<
54  std::is_base_of<Variable, T>::value, std::true_type, std::false_type> {};
55 
61 template<typename T>
62 struct KALMAN_FILTER_PUBLIC is_angle : std::conditional_t<
63  std::is_base_of<AngleVariable, T>::value, std::true_type, std::false_type> {};
64 
65 
66 } // namespace prediction
67 } // namespace autoware
68 
69 #endif // KALMAN_FILTER__VARIABLE_HPP_
visibility_control.hpp
autoware::prediction::AngleVariable
A tag struct used to disambiguate variables that store angles from other types.
Definition: variable.hpp:45
autoware
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24
autoware::prediction::is_variable
A trait to check if a type is a variable by checking if it inherits from Variable.
Definition: variable.hpp:53
autoware::prediction::Variable
A tag struct used to disambiguate variables from other types.
Definition: variable.hpp:38
autoware::prediction::is_angle
A trait to check if a variable represents an angle.
Definition: variable.hpp:62