boost::preprocessorのvariadicsマクロ定義が抜けていたので追加
インクルードガードの記述忘れを訂正