title: Why does calling boost::split() give so many warnings?
body: <p>I need a function for splitting strings on a dleimiter, and I'm using the boost library for other things, so I tried using boost::split. It works, but it gives me a bunch of warnings, and I'd like to know why.</p>
  
  <p>The following is simplified code that produces the warnings in MSVC++ 10:</p>
  
  <pre><code>#include &lt;tchar.h&gt;
  #include &lt;iostream&gt;
  #include &lt;string&gt;
  #include &lt;vector&gt;
  #include &lt;boost/algorithm/string.hpp&gt;
  
  int _tmain(int argc, _TCHAR* argv[])
  {
      std::vector&lt;std::string&gt; split_vector;
      boost::split(split_vector, "string,to,split", boost::is_any_of(","));
      for(size_t i=0;i&lt;split_vector.size();i++)  {
          std::cout &lt;&lt; split_vector[i] &lt;&lt; "\n";
      }
  }
  </code></pre>
  
  <p>There are about 100 lines of warnings, and I don't know how to make collapsible/scrollable stuff here, but they are all like:</p>
  
  <pre><code>c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(2227): warning C4996: 'std::_Copy_impl': 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'
  c:\program files (x86)\microsoft visual studio 10.0\vc\include\xutility(2212) : see declaration of 'std::_Copy_impl'
  c:\program files\boost\boost_1_49_0\boost\algorithm\string\detail\classification.hpp(102) : see reference to function template instantiation '_OutIt std::copy&lt;const char*,char*&gt;(_InIt,_InIt,_OutIt)' being compiled
  with
  [
      _OutIt=char *,
      _InIt=const char *
  ]
  c:\program files\boost\boost_1_49_0\boost\algorithm\string\classification.hpp(206) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF&lt;CharT&gt;::is_any_ofF&lt;boost::iterator_range&lt;IteratorT&gt;&gt;(const RangeT &amp;)' being compiled
  with
  [
      CharT=char,
      IteratorT=const char *,
      RangeT=boost::iterator_range&lt;const char *&gt;
  ]
  c:\users\administrator\documents\visual studio 2010\projects\cas testing\tests\tests.cpp(10) : see reference to function template instantiation 'boost::algorithm::detail::is_any_ofF&lt;CharT&gt; boost::algorithm::is_any_of&lt;const char[2]&gt;(RangeT (&amp;))' being compiled
  with
  [
      CharT=char,
      RangeT=const char [2]
  ]
  </code></pre>
  
  <p>and so on.</p>
  
  <p>Anyone know what's going on?</p>