iostreamにType Erasureをしてみる

  • ATLTRACEを置き換えたくてこんなものを作ってみた
  • out << stm というexpressionを文字列に固定してType Erasureをする

[]#include[] []<pstade/debug.hpp>[]
[]#include[] []<pstade/napkin.hpp>[]
[]#include[] []<windows.h>[]
[]#include[] []<pstade/napkin/dout.hpp>[]

[]using[] []namespace[] []pstade[][];[]

[]PSTADE_DEBUG[][]( [][]napkin[][]::[][]ostream[] []my_os[][]([][]napkin[][]::[][]dout[][]); )[]

[]void[] []test[][]()[]
[]{[]
[]PSTADE_DEBUG[][]( [][]my_os[][] << [][]"hello, napkin version..."[][] << [][]0.90[][] << [][]'\n'[][]; )[]
[]}[]