boost::cnv::reference<Converter, TypeOut, void>
// In header: <boost/convert.hpp> template<typename Converter, typename TypeOut> struct reference<Converter, TypeOut, void> { // types typedef reference this_type; // construct/copy/destruct reference(Converter const &); reference(Converter &&); // public member functions this_type & value_or(TypeOut const &); template<typename TypeIn> TypeOut operator()(TypeIn const &) const; };