14 #ifndef LLVM_ADT_BIT_H 15 #define LLVM_ADT_BIT_H 19 #include <type_traits> 26 template <
typename To,
typename From 27 ,
typename =
typename std::enable_if<sizeof(To) == sizeof(From)>::type
28 #if (__has_feature(is_trivially_constructible) && defined(_LIBCPP_VERSION)) || \ 29 (defined(__GNUC__) && __GNUC__ >= 5) 30 ,
typename =
typename std::is_trivially_constructible<To>::type
31 #elif __has_feature(is_trivially_constructible) 32 ,
typename =
typename std::enable_if<__is_trivially_constructible(To)>::type
36 #if (__has_feature(is_trivially_copyable) && defined(_LIBCPP_VERSION)) || \ 37 (defined(__GNUC__) && __GNUC__ >= 5) 38 ,
typename =
typename std::enable_if<std::is_trivially_copyable<To>::value>
::type 39 ,
typename =
typename std::enable_if<std::is_trivially_copyable<From>::value>::type
40 #elif __has_feature(is_trivially_copyable) 41 ,
typename =
typename std::enable_if<__is_trivially_copyable(To)>::type
42 ,
typename =
typename std::enable_if<__is_trivially_copyable(From)>::type
51 inline To
bit_cast(
const From &from) noexcept {
This class represents lattice values for constants.
BlockVerifier::State From
To bit_cast(const From &from) noexcept