Jochen Hammann
As I wrote in the original mail, I am developing with the Microsoft Visual
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
C++ 7.1 compiler. 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.