Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost Exception

errinfo_type_info_name

#include <boost/exception/errinfo_type_info_name.hpp>

#include <boost/exception/error_info.hpp>
#include <string>

namespace
boost
    {
    typedef error_info<struct errinfo_type_info_name_,std::string> errinfo_type_info_name;
    }

This type is designed to be used as a standard error_info instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::exception objects.