• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2020 The Dawn Authors
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 COMMON_TYPETRAITS_H_
16 #define COMMON_TYPETRAITS_H_
17 
18 #include <type_traits>
19 
20 template <typename LHS, typename RHS = LHS, typename T = void>
21 struct HasEqualityOperator {
22     static constexpr const bool value = false;
23 };
24 
25 template <typename LHS, typename RHS>
26 struct HasEqualityOperator<
27     LHS,
28     RHS,
29     std::enable_if_t<
30         std::is_same<decltype(std::declval<LHS>() == std::declval<RHS>()), bool>::value>> {
31     static constexpr const bool value = true;
32 };
33 
34 #endif  // COMMON_TYPE_TRAITS_H_
35