Joaquin M Lopez Munoz wrote:
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
Hi Joaquín,
please excuse the very long delay for this reply. I have made some tests with the new Sandbox files
multi_index_030305_plus_hash_part_1.zip
multi_index_030305_plus_hash_part_2.zip.
I wrote a small example application and I tried to use the Boost.MultiIndex container like I do in
my main project. First of all, I was not able to reproduce the internal compiler error (Microsoft
Visual C++ 7.1) that occurred during the compilation of my project. After a lot of tests I decided
to copy the Visual Studio project settings to my example application.
The internal compiler error occurs, if the compiler option /vmg is set. This option is also set
within my main project. Because I obtained the core of the project from a colleague, I do not know,
why this option was set. I have tried to reproduce the internal compiler error with a simple example
(see the following code):
#include