最近(でもないけど)書いたマジキチなコード達
それほどマジキチじゃないけどkeep aliveのために無駄にネットワークリソースを浪費する。
incomplete typeへのポインタは許されている
カプセル化とかそんなレベルじゃない隠蔽を実現したいときはこうすることで実装を隠せる。pimplにも使える(使われてる?)方法。
ただ、gの定義がマジキチなので適当にtypedefしたほうがわかり易い。
区間の実装
例えば
if ( 0 <= x && x < 1 ) { ... }
とか書くときももっとわかり易く数学的に
if ( 0 <= x < 1 ) { ... }
って書きたいよねってモチベーション。
とりあえずusingは変にnamespaceを汚染しないのでADLで引っ張るにはいい感じなのかなーってテストも兼ねてる。
適当なRTTIだったらtemplate+static memberで実装できるんじゃね?
--fno-rttiみたいな環境で頑張りたい時、いやそんなの私はないけど。
そういえばRTTIって型の集合が作れるんじゃね? std::set< std::type_info >みたいな。