Common: replace std::aligned_storage_t with alignas
C++23 deprecates std::aligned_storage_t while alignas works since C++11. This fixes issue 12925.
This commit is contained in:
parent
99f98b2481
commit
59dfc43949
|
@ -201,7 +201,7 @@ inline To BitCast(const From& source) noexcept
|
||||||
static_assert(std::is_trivially_copyable<To>(),
|
static_assert(std::is_trivially_copyable<To>(),
|
||||||
"BitCast destination type must be trivially copyable.");
|
"BitCast destination type must be trivially copyable.");
|
||||||
|
|
||||||
std::aligned_storage_t<sizeof(To), alignof(To)> storage;
|
alignas(To) std::byte storage[sizeof(To)];
|
||||||
std::memcpy(&storage, &source, sizeof(storage));
|
std::memcpy(&storage, &source, sizeof(storage));
|
||||||
return reinterpret_cast<To&>(storage);
|
return reinterpret_cast<To&>(storage);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue