Boost.Convertでは、boost::cvt
名前空間のby_default
という型がデフォルトのコンバータクラスとなる。
デフォルトのコンバータは、先行宣言されているだけで定義はされていないので、デフォルトがどれなのかは、ユーザーが定義する。
#include <iostream> #include <boost/convert.hpp> #include <boost/convert/stream.hpp> // ストリームによるコンバータを、デフォルトにする struct boost::cnv::by_default : public boost::cnv::cstream {}; int main() { boost::optional<int> result = boost::convert<int>("123"); std::cout << result.get() << std::endl; }
出力:
123