プリプロセッサのメタプログラミング Boost.Preprocessor を使用するライブラリを作成しています。1 つのマクロは次のようになります。
#define MY_MACRO(my_type) return some_function<my_type>()
さて、問題は、return
if my_type
isを削除する必要があることですvoid
。Boost.Preprocessor を確認しましたが、役立つものは何もありませんでした。どうすればこれを達成できますか? 何かのようなもの:
#define MY_MACRO(my_type) BOOST_PP_IF(\
TYPE_EQUALS(my_type,void),return,BOOST_PP_EMPTY()) some_function<my_type>()