Boost logo

Boost Users :

From: Joaquin M Lopez Munoz (joaquin_at_[hidden])
Date: 2005-02-18 04:52:05


Jochen Hammann <jochen.hammann <at> realtech.com> writes:

>
> As I wrote in the original mail, I am developing with the Microsoft Visual
C++ 7.1 compiler.
> Starting with the Boost.MultiIndex container, I wrote some examples to get
familiar with the
> container. After some problems with long symbol names (you have helped me in
another thread) the
> examples work very well. By using the Boost.MultiIndex container in my
project, I encountered
> internal compiler errors. I tried to reduce the symbol length by declaring
new structs which derive
> from the ordered indices and the key extractors, respectively, but this
didn't help. Now, I am using
> the member_offset<> extractor, which solves the problems. Unfortunately, I
was not able to reproduce
> the internal compiler error with some example code.
>

Yep, the problem with symbol names length was raised in the very
review. At the time I didn't think much can be done to shorten
symbols, but today I've got good news :) The preview version
at the Sandbox files section

multi_index_140205_plus_hash_part_1.zip
multi_index_140205_plus_hash_part_2.zip

includes optimizations to produce *much* shorter symbol
names.
In case you have time to do the test, I'd appreciate if you
download the preview and try to compile your project, reverting
to member<> instead of member_offset<>. Do you see any
improvement? For better results, you can try deriving the
"indexed_by" part:

struct my_indices:
  indexed_by<
    ...
>
{};

typeded multi_index_container<
  my_element,
  my_indices
> my_mic;

This technique, combined with the optimizations provided in
the preview version, should reduce symbol names down to
something almost human-readable. If you finally do the test,
please do report back. Thank you!

Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo

PS: The preview version has not yet been tested for MSVC 7.1,
though I'm confident you won't find any problem.
PPS: This is a preview version, so please don't stick with it.
The opimizations mentioned will make it into the final version
for Boost 1.33.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net