// DisableSTLWarnings.h // (NOT TO BE CONFUSED WITH DisableSTLUsageWarnings.h) // // INCLUDE THIS FILE to disable annoying warnings often generated when // *including* Visual Studio's STL headers. // // DisableSTLWarnings.h vs. DisableSTLUsageWarnings.h: // ---- // DisableSTLWarnings.h (** this file **) // Turns off warnings *while* including STL headers. These warnings // are to be reenabled before compiling your code, using push/pop // #pragmas. // DisableSTLUsageWarnings.h // Turns off warnings while compiling your code, *after* including // STL headers. // HOW TO USE THIS FILE // // ... Top of your file ... // // #pragma warning( push, 1 ) // #include "DisableSTLWarnings.h" // ... Include troublesome STL headers here ... // #pragma warning( pop ) // #include "DisableSTLUsageWarnings.h" // // ... Include other files here ... // // ... Rest of your file ... #pragma warning( disable: 4018 ) // signed/unsigned mismatch in comparison op #pragma warning( disable: 4100 ) // unref'd formal param #pragma warning( disable: 4146 ) // unary minus applied to unsigned #pragma warning( disable: 4244 ) // integer conversion to smaller type #pragma warning( disable: 4284 ) // iterator::operator->() return type when using ptr template type #pragma warning( disable: 4511 ) // could not generate copy constructor #pragma warning( disable: 4512 ) // could not generate assignment op #pragma warning( disable: 4663 ) // deprecated template specialization syntax #pragma warning( disable: 4710 ) // inlined function not inlined #pragma warning( disable: 4786 ) // long templated symbol names