Eu baixei cromo base de código 's e correu pelo namespace WTF .
namespace WTF {
/*
* C++'s idea of a reinterpret_cast lacks sufficient cojones.
*/
template<typename TO, typename FROM>
TO bitwise_cast(FROM in)
{
COMPILE_ASSERT(sizeof(TO) == sizeof(FROM), WTF_wtf_reinterpret_cast_sizeof_types_is_equal);
union {
FROM from;
TO to;
} u;
u.from = in;
return u.to;
}
} // namespace WTF
Isso significa o que eu acho que significa? Pode ser, a bitwise_cast
implementação especificada aqui não será compilada se for TO
ou FROM
não um POD e não for (AFAIK) mais poderoso do que o C ++ integrado reinterpret_cast
.
O único ponto de luz que vejo aqui é que ninguém parece estar usando bitwise_cast
no projeto Chromium.