Boost logo

Boost :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-15 14:24:52


People often complain that the C++ standard doesn't give any guarantees
about the format or portability of type_info<T>::name(). This becomes an
issue in implementing generalized persistence libraries and object
databases. The first step towards getting such guarantees in the
standard might well be the implementation of a library which /does/ give
them on a wide range of known platforms and within the bounds of its
intended usage (i.e. one could rule out types in unnamed namespaces).
That would provide a proof-of-concept for the feature in the standard
and would help to delineate the parameters within which implementation
was feasible, not to mention that it would be a useful library for the
implementation of generalized persistence.

I have already done some of the work that would be required as part of
the Python library. In particular, I have reverse-engineered most of the
GCC typeid name encoding scheme
(http://mail.python.org/pipermail/c++-sig/2002-February/000844.html),
and have implemented wrappers which cause MSVC6 &co. to produce correct
typeid information for cv-qualified and reference types
(http://www.boost.org/boost/python/converter/type_id.hpp).

The library I'm proposing is not something I need, or I'd do it myself.
However, I thought it would make a good project for someone interested
in making a contribution at boost.

Any takers?

-Dave

+---------------------------------------------------------------+
                  David Abrahams
      C++ Booster (http://www.boost.org) O__ ==
      Pythonista (http://www.python.org) c/ /'_ ==
  resume: http://users.rcn.com/abrahams/resume.html (*) \(*) ==
          email: david.abrahams_at_[hidden]
+---------------------------------------------------------------+


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk