以前から気になっていたんですがやっと試してみました。 OverloadedFunction を使用すれば複数の関数を1つの関数オブジェクトにまとめる事ができます。 [ソース] #include <boost/functional/overloaded_function.hpp> #include <boost/lexical_cast.hpp> #include <string> #include <iostream> std::string to_string(int n){ return boost::lexical_cast<std::string>(n); } int to_int(std::string str){ return boost::lexical_cast<int>(str); } int main(){ // 複数の関数を1つの関数オブジェクトにまとめる boost