ゆとりーなの日記

日記的な事を書いて行くと思はれる

テンプレート化の流れは止められない

自作ライブラリに何となくCRTPを導入してみようかなと思ったなどです。
こいつで各実装で必要最低限なメソッドを定義しておいて、各々埋めてくように実装していけばいいんじゃないかなぁとか思ったわけです。
で、今まではWindowsLinuxでgraphic_deviceクラスの中身をifdefで分岐していたんですが、それぞれdirect3d9_deviceとかopengl_deviceとかのクラスとして用意して、こいつらをifdefで分岐してCRTPに埋め込んだ物をtypedefしたほうが再利用性が上がるのかなぁとか思ったんですね。こうしておけばXP完全に捨てるって決意を固めたときに、direct3d11_deviceとかを新たに作ればいいわけで、direct3d9_deviceと別に共存しててもいいわけです。あるいはオプションでこれらを切り替える構文を用意しておけば、やっぱりXPは切れなかったとなったときに戻りやすいですし。あと名前が付いてそれで分割されてる分少し分かり易いのかなぁという気がしないでもないです。