prettier diagnostic information, using <boost/units/detail/utility.hpp>

[SVN r59398]
This commit is contained in:
Emil Dotchevski
2010-02-01 00:25:15 +00:00
parent ab7a4ebb1a
commit a955aa431e
4 changed files with 17 additions and 11 deletions

View File

@@ -1,4 +1,4 @@
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
//Distributed under the Boost Software License, Version 1.0. (See accompanying
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -25,7 +25,7 @@ boost
{
public:
virtual char const * tag_typeid_name() const = 0;
virtual std::string tag_typeid_name() const = 0;
virtual std::string value_as_string() const = 0;
protected:
@@ -62,7 +62,7 @@ boost
private:
char const * tag_typeid_name() const;
std::string tag_typeid_name() const;
std::string value_as_string() const;
value_type value_;

View File

@@ -1,4 +1,4 @@
//Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc.
//Copyright (c) 2006-2010 Emil Dotchevski and Reverge Studios, Inc.
//Distributed under the Boost Software License, Version 1.0. (See accompanying
//file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@@ -15,19 +15,23 @@
#include <boost/detail/sp_typeinfo.hpp>
#include <boost/current_function.hpp>
#include <boost/config.hpp>
#ifndef BOOST_NO_TYPEID
#include <boost/units/detail/utility.hpp>
#endif
#include <string>
namespace
boost
{
template <class T>
inline
char const *
std::string
tag_type_name()
{
#ifdef BOOST_NO_TYPEID
return BOOST_CURRENT_FUNCTION;
#else
return typeid(T*).name();
return units::detail::demangle(typeid(T*).name());
#endif
}