
John Maddock ha escrito:
Joaquín Mª López Muñoz wrote:
Would it be an idea to suppress these with some #pragma's if they've been investigated and found harmless?
It can be a good idea, but I need to make sure that #pragma warning(push) and #pragma warning(pop) can be used here in such a manner as to not suppress this otherwise useful warning in user code. Would you volunteer to try some tests in your environment (I don't have VC7.1 or 8.0) before commiting such a change?
How about the patch below then - turns off the warnings only for your code. Note that the suppression of the std::equal warning will suppress the warning for any further uses of that template instance as well (since a template is instantiated only once).
Oh, you already did the job! Thank you very much. I applied your C4312/C4311 patch, I'd be grateful if you can double check that eveything's OK now. As for the other C4996 patch, I decided *not* to use it because: 1. I'd have to apply it at numerous other locations where std::equal is used (even though as you say one pragma serves all uses, it might be the case that boost/multi_index/ordered_index.hpp is not included in a particular program.) 2. This is a manifestation of the infamous C++ "safe mode". The position of boost.org wrt to this rather irritating feature is to explicitly *not* support it and urge the user to avoid it by defining _SCL_SECURE_NO_DEPRECATE, as exposed in the "Supported Compilers" section of http://boost.org Thank you, Joaquín M López Muñoz Telefónica, Investigación y Desarrollo