diff options
| author | kuzkry <krystian.kuzniarek@gmail.com> | 2019-08-23 11:57:56 -0400 | 
|---|---|---|
| committer | Xiaoyi Zhang <zhangxy@google.com> | 2019-08-23 16:39:13 -0400 | 
| commit | db1b739943e9ea996105239573e3c38a50bf38cc (patch) | |
| tree | 3fd11dcc8ef32305a28117f165d83d4e5873ae5b /googlemock/include/gmock/internal/gmock-internal-utils.h | |
| parent | 46525e1e5dfcb0a3c195bc2f94859b196e7cba76 (diff) | |
| download | googletest-db1b739943e9ea996105239573e3c38a50bf38cc.tar.gz googletest-db1b739943e9ea996105239573e3c38a50bf38cc.tar.bz2 googletest-db1b739943e9ea996105239573e3c38a50bf38cc.zip | |
Googletest export
Merge b8ca465e73ac0954a0c9eec2a84bdd8913d5763b into 90a443f9c2437ca8a682a1ac625eba64e1d74a8a
Closes #2396
COPYBARA_INTEGRATE_REVIEW=https://github.com/google/googletest/pull/2396 from kuzkry:custom-type-traits-true/false_type-and-bool_constant b8ca465e73ac0954a0c9eec2a84bdd8913d5763b
PiperOrigin-RevId: 265064856
Diffstat (limited to 'googlemock/include/gmock/internal/gmock-internal-utils.h')
| -rw-r--r-- | googlemock/include/gmock/internal/gmock-internal-utils.h | 21 | 
1 files changed, 8 insertions, 13 deletions
| diff --git a/googlemock/include/gmock/internal/gmock-internal-utils.h b/googlemock/include/gmock/internal/gmock-internal-utils.h index 5386f48f..cea8ef6e 100644 --- a/googlemock/include/gmock/internal/gmock-internal-utils.h +++ b/googlemock/include/gmock/internal/gmock-internal-utils.h @@ -170,27 +170,27 @@ GMOCK_DECLARE_KIND_(long double, kFloatingPoint);  // From, and kToKind is the kind of To; the value is  // implementation-defined when the above pre-condition is violated.  template <TypeKind kFromKind, typename From, TypeKind kToKind, typename To> -struct LosslessArithmeticConvertibleImpl : public false_type {}; +struct LosslessArithmeticConvertibleImpl : public std::false_type {};  // Converting bool to bool is lossless.  template <>  struct LosslessArithmeticConvertibleImpl<kBool, bool, kBool, bool> -    : public true_type {};  // NOLINT +    : public std::true_type {};  // Converting bool to any integer type is lossless.  template <typename To>  struct LosslessArithmeticConvertibleImpl<kBool, bool, kInteger, To> -    : public true_type {};  // NOLINT +    : public std::true_type {};  // Converting bool to any floating-point type is lossless.  template <typename To>  struct LosslessArithmeticConvertibleImpl<kBool, bool, kFloatingPoint, To> -    : public true_type {};  // NOLINT +    : public std::true_type {};  // Converting an integer to bool is lossy.  template <typename From>  struct LosslessArithmeticConvertibleImpl<kInteger, From, kBool, bool> -    : public false_type {};  // NOLINT +    : public std::false_type {};  // Converting an integer to another non-bool integer is lossless if  // the target type's range encloses the source type's range. @@ -211,17 +211,17 @@ struct LosslessArithmeticConvertibleImpl<kInteger, From, kInteger, To>  // the format of a floating-point number is implementation-defined.  template <typename From, typename To>  struct LosslessArithmeticConvertibleImpl<kInteger, From, kFloatingPoint, To> -    : public false_type {};  // NOLINT +    : public std::false_type {};  // Converting a floating-point to bool is lossy.  template <typename From>  struct LosslessArithmeticConvertibleImpl<kFloatingPoint, From, kBool, bool> -    : public false_type {};  // NOLINT +    : public std::false_type {};  // Converting a floating-point to an integer is lossy.  template <typename From, typename To>  struct LosslessArithmeticConvertibleImpl<kFloatingPoint, From, kInteger, To> -    : public false_type {};  // NOLINT +    : public std::false_type {};  // Converting a floating-point to another floating-point is lossless  // if the target type is at least as big as the source type. @@ -470,11 +470,6 @@ struct RemoveConstFromKey<std::pair<const K, V> > {    typedef std::pair<K, V> type;  }; -// Mapping from booleans to types. Similar to boost::bool_<kValue> and -// std::integral_constant<bool, kValue>. -template <bool kValue> -struct BooleanConstant {}; -  // Emit an assertion failure due to incorrect DoDefault() usage. Out-of-lined to  // reduce code size.  GTEST_API_ void IllegalDoDefault(const char* file, int line); | 
