Autoware.Auto
traits.hpp
Go to the documentation of this file.
1 // Copyright 2020 Apex.AI, Inc., Arm Limited
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 
17 
18 #ifndef COVARIANCE_INSERTION__TRAITS_HPP_
19 #define COVARIANCE_INSERTION__TRAITS_HPP_
20 
21 #include <type_traits>
22 
23 namespace autoware
24 {
25 namespace covariance_insertion
26 {
27 
28 template<typename T, typename = void>
29 struct has_covariance_member : std::false_type {};
30 
31 template<typename T>
32 struct has_covariance_member<T, decltype((void)T::covariance, void())>: std::true_type
33 {
34 };
35 
36 template<typename T, typename = void>
37 struct has_pose_member : std::false_type {};
38 
39 template<typename T>
40 struct has_pose_member<T, decltype((void)T::pose, void())>: std::true_type
41 {
42 };
43 
44 template<typename T, typename = void>
45 struct has_twist_member : std::false_type {};
46 
47 template<typename T>
48 struct has_twist_member<T, decltype((void)T::twist, void())>: std::true_type
49 {
50 };
51 
52 } // namespace covariance_insertion
53 } // namespace autoware
54 
55 #endif // COVARIANCE_INSERTION__TRAITS_HPP_
T
Definition: catr_diff.py:22
This file defines the lanelet2_map_provider_node class.
Definition: quick_sort.hpp:24