こんなふうに


こんな風にすればいいじゃんね.



// こんな宣言がある
template<
  typename CT,
  typename NT
>
class basic_printer;

typedef basic_printer<char, int> printer;
typedef basic_printer<wchar_t, int> wprinter;


using namespace afc::gui;


afc::gui::window wnd;
afc::gui::screen scr;

// 初期化略


// こんな感じ
scr.assign(printer());


// 実装はあまり変わってないけど
template<class SC>
template<class AC>
bool screen::assign<SC>::assign(const AC& c){

  c::sys_device(device_);
  return true;

}


// でもこれ一個あればstaticなsys_device(device_type device);さえ実装すればいいことになる.


ていうかなんで今までこうしなかったんだろう….