#include <cstring>
#include <memory>
#include <type_traits>
#include <utility>
#include "absl/base/internal/identity.h"
#include "absl/base/macros.h"
#include "absl/meta/type_traits.h"
Go to the source code of this file.
|
template<typename Dest , typename Source , typename std::enable_if< !internal_casts::is_bitcastable< Dest, Source >::value, int >::type = 0> |
| absl::ABSL_DEPRECATED ("absl::bit_cast type requirements were violated. Update the types " "being used such that they are the same size and are both " "TriviallyCopyable.") inline Dest bit_cast(const Source &source) |
|
template<typename Dest , typename Source , typename std::enable_if< sizeof(Dest)==sizeof(Source) &&type_traits_internal::is_trivially_copyable< Source >::value &&type_traits_internal::is_trivially_copyable< Dest >::value &&std::is_default_constructible< Dest >::value, int >::type = 0> |
Dest | absl::bit_cast (const Source &source) |
|
template<typename To > |
constexpr To | absl::implicit_cast (typename absl::internal::identity_t< To > to) |
|