Boost logo

Boost :

From: Steven Watanabe (steven_at_[hidden])
Date: 2007-02-15 13:47:13


Matthias Schabel <boost <at>> writes:

> automatically. For example, on g++ gives :
> FN5boost5units10length_tagEvE
> FN5boost5units2SI6systemEvE
> for
> typeid(length_tag()).name()
> typeid(SI::system()).name()

There is no way to access this at compile time.

> If these could be hashed into a long int, that would be all we
> needed. Probably
> would involve very non-portable code, but it might be supportable on
> a few
> of the major compilers... I thought C++ name mangling was supposed to be
> standardized...

Hashing provides no guarantees against collisions.

struct system : ordinal<hash_typename<
    'b', 'o', 'o', 's', 't', ':', ':',
    'u', 'n', 'i', 't', 's', ':', ':',
    'S', 'I'>::value> {}

> Since no inter-system conversion happens in the operators, I think
> that's all that would
> happen. This will definitely not happen before the review, but I
> think it could be done
> and would be interesting...
> Matthias

You need it to represent kilowatt-hours, I believe.

In Christ,
Steven Watanabe

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