Boost logo

Boost :

From: Carlo Wood (carlo_at_[hidden])
Date: 2002-08-30 09:42:21

On Fri, Aug 30, 2002 at 03:54:03PM -0400, Toon Knapen wrote:
> I would prefer though
> std::string demangle(const std::type_info& i)
> because e.g. it's easier to use it in
> std::cout << demangle( typeid(a) ) << std::endl;

This is not the most general interface and will have
to be a wrapper around the more general one.


void demangle(std::string& t_o, char const* t_i);

std::string demangle(char const* t_i)
  std::string t_o;
  demangle(t_o, t_i);
  return t_o;

std::string demangle(std::string const& t_i)
  return demangle(t_i.c_str());

std::string demangle(std::type_info const& i)
  return demangle(;

Note these wrappers will not cause extra string copy constructors
to be called, as the standard allows (demands?) to skip that.

Carlo Wood <carlo_at_[hidden]>

Boost list run by bdawes at, gregod at, cpdaniel at, john at