title: Is there a way to disable all warnings with a pragma?
body: <p>I've started a new project and have decided to make sure it builds cleanly with the /Wall option enabled. The only problem is not all 3rd party libraries (like boost) compile without warnings, so I've resorted to doing this in a shared header:</p>
  
  <pre><code>#pragma warning(push)
  
  #pragma warning(disable:4820)
  #pragma warning(disable:4619)
  #pragma warning(disable:4668)
  #pragma warning(disable:4625)
  #pragma warning(disable:4626)
  #pragma warning(disable:4571)
  #pragma warning(disable:4347)
  #pragma warning(disable:4640)
  #pragma warning(disable:4365)
  #pragma warning(disable:4710)
  #pragma warning(disable:4820)
  #pragma warning(disable:4350)
  #pragma warning(disable:4686)
  #pragma warning(disable:4711)
  #pragma warning(disable:4548)
  
  #include &lt;boost/array.hpp&gt;
  #include &lt;boost/assert.hpp&gt;
  #include &lt;boost/assign.hpp&gt;
  #include &lt;boost/bind.hpp&gt;
  #include &lt;boost/lexical_cast.hpp&gt;
  #include &lt;boost/filesystem.hpp&gt;
  #include &lt;boost/foreach.hpp&gt;
  #include &lt;boost/format.hpp&gt;
  #include &lt;boost/function.hpp&gt;
  #include &lt;boost/integer.hpp&gt;
  #include &lt;boost/optional.hpp&gt;
  #include &lt;boost/regex.hpp&gt;
  #include &lt;boost/smart_ptr.hpp&gt;
  #include &lt;boost/algorithm/string.hpp&gt;
  #include &lt;boost/tuple/tuple.hpp&gt;
  #include &lt;boost/utility.hpp&gt;
  #include &lt;boost/variant.hpp&gt;
  
  #pragma warning(pop)
  </code></pre>
  
  <p>This works well enough, but every time I add new boost headers I have to add whatever warnings they generate to the list. Is there a way to say disable all warnings for this stretch of code?</p>