
On Thu, Mar 17, 2011 at 12:53 PM, Jens Auer
Well, that's true for exception_detail, but error_info has a public non-virtual destructor and might be used as a base class (I am sure it isn't, but when I just have a quick look at it when coding it doesn't say that it shouldn't).
error_info has a protected (not public) non-virtual destructor, by design.
Just checked the code provided in 1.46.1: template
class error_info: public exception_detail::error_info_base { public: typedef T value_type;
error_info( value_type const & value ); ~error_info() throw();
value_type const & value() const { return value_; }
value_type & value() { return value_; }
private:
std::string tag_typeid_name() const; std::string value_as_string() const;
value_type value_; }; }
I mistyped, yes error_info has a public destructor, but it isn't a base type; error_info_base is the base type which has protected non-virtual destructor. I am not concerned about the potential danger of someone newing an object of a type that derives from boost::error_info. :) Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode