2014年9月19日金曜日

variadic template と COM の QueryInterface

今のお仕事が、ATL/COM と格闘なのだけど、ATLを使いこなせない雑魚はのアカウントはこちらです。
それはともかくQueryInterface をコツコツ記述していたら、 variadic template で QueryInterface が楽に実装できないかと思ったメモ。
void にマッチしたときのコードが、MSVCでしか動かないコードな気がするけれども、__uuidof の時点で専用コードなので諦めた次第。
本当は、継承をたどってほしいのだけれども、やり方が思いつかない。
IID 比較の if 文が並ぶのを防げるだけでもまあいいのかなぁ。
黙ってATLを調べればいいのだろうけど、資料が見当たらなさが厳しすぎるのです。
BOOST.PP の方が建設的な気もしたけど、Libを追加する気力もなかったので。 Waveの方がいいのかな?