title: Visual Studio 2012 C++ compile error with Boost Signal2
body: <p>I am using Visual Studio 2012 Ultimate with the following Boost Signals2 code: at <a href="https://github.com/cfobel/boost_signals2/blob/master/hello_world_0.cpp" rel="noreferrer">https://github.com/cfobel/boost_signals2/blob/master/hello_world_0.cpp</a>
  It generates the following error: </p>
  
  <pre><code>c:\program files (x86)\microsoft visual studio 11.0\vc\include\xmemory(348): error C4996: 'std::_Uninitialized_copy0': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators'
  1&gt;          c:\program files (x86)\microsoft visual studio 11.0\vc\include\xmemory(333) : see declaration of 'std::_Uninitialized_copy0'
  1&gt;          c:\libraries\boost_1_52_0\boost\signals2\detail\auto_buffer.hpp(192) : see reference to function template instantiation '_FwdIt std::uninitialized_copy&lt;I,boost::variant&lt;T0_,T1&gt;*&gt;(_InIt,_InIt,_FwdIt)' being compiled
  </code></pre>
  
  <p>Is this code not compatible for Visual Studio 2012 C++? Is it still safe to use? Lastly, how do I  make the changes as suggested? 
  Thanks</p>