[MultiIndex] documentation for macros

Hello, Is there any description of the various macros that control MI behavior, like BOOST_MULTI_INDEX_ENABLE_SAFE_MODE etc.? I tried to search through the library reference, but haven't managed to find any. Thanks.

Igor R escribió:
Hello,
Is there any description of the various macros that control MI behavior, like BOOST_MULTI_INDEX_ENABLE_SAFE_MODE etc.? I tried to search through the library reference, but haven't managed to find any.
These macros are not documented in the reference for a very academic reason, they're details of this particular implementation rather than part of the public interface --this is admittedly a little too picky, maybe. The macros are documented through the tutorial, though. For your reference: BOOST_MULTI_INDEX_ENABLE_SAFE_MODE BOOST_MULTI_INDEX_SAFE_MODE_ASSERT http://www.boost.org/libs/multi_index/doc/tutorial/debug.html#safe_mode BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING BOOST_MULTI_INDEX_INVARIANT_ASSERT http://www.boost.org/libs/multi_index/doc/tutorial/debug.html#invariant_chec... BOOST_MULTI_INDEX_DISABLE_SERIALIZATION http://www.boost.org/libs/multi_index/doc/tutorial/creation.html#serializati... BOOST_MULTI_INDEX_DISABLE_COMPRESSED_ORDERED_INDEX_NODES http://www.boost.org/libs/multi_index/doc/tutorial/indices.html#ordered_node... BOOST_MULTI_INDEX_LIMIT_INDEXED_BY_SIZE BOOST_MULTI_INDEX_LIMIT_TAG_SIZE http://www.boost.org/libs/multi_index/doc/compiler_specifics.html#symbol_red... HTH, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo

On Thu, Sep 24, 2009 at 7:40 AM,
BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING BOOST_MULTI_INDEX_INVARIANT_ASSERT http://www.boost.org/libs/multi_index/doc/tutorial/debug.html#invariant_chec...
FWIW, you have to be careful with those. I used to have them on, and this slowed down the app tremendously, because your hasher is called n^2 instead of n^1. OTOH, they taught me the importance of informing the BMI of any changes in the indexed fields by crashing the app ;) --DD

BOOST_MULTI_INDEX_ENABLE_INVARIANT_CHECKING BOOST_MULTI_INDEX_INVARIANT_ASSERT http://www.boost.org/libs/multi_index/doc/tutorial/debug.html#invariant_chec...
FWIW, you have to be careful with those. I used to have them on, and this slowed down the app tremendously, because your hasher is called n^2 instead of n^1. OTOH, they taught me the importance of informing the BMI of any changes in the indexed fields by crashing the app ;) --DD
Well, they are not supposed to be used in release mode. The same applies to the "secure" STL that comes with MSVC, with one difference - _SECURE_SCL is defined *by default*.
participants (3)
-
ddevienne
-
Igor R
-
joaquin@tid.es