
AMDG Matthias Schabel <boost <at> schabel-family.org> 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