1. ホーム
  2. c++

[解決済み] WebKitのコードベースでWTFは何を表しているのか?

2023-03-18 15:49:43

質問

ダウンロードした クロミウム のコードベースをダウンロードし、その中で 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

これは私が考えているような意味なのでしょうか?そうかもしれません。 bitwise_cast のどちらかを指定した場合、ここで指定した実装はコンパイルされません。 TO または FROM POD であり、(AFAIK) C++ 内蔵の reinterpret_cast .

私がここで見る唯一の光明は、誰も bitwise_cast を使用していないことです。

どのように解決するのですか?

略して W eb T エンプレート F フレームワークで、WebKit のコードベース全体でよく使われる関数を提供します。