id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 2427,message_queue uses deprecated function in VS 8.0,Tom Kent ,Ion Gaztañaga,"There is a usage of a deprecated function in Visual Studio 8.0 (2005) when using the message_queue in the interprocess library. However, this ONLY manifests itself when there is a #include BEFORE the #include . If the string include is after the message_queue include, everything compiles fine. For example: {{{ #include #include #include int main(int argc, char* argv[]) { boost::interprocess::message_queue* rcv; std::string exampleString = ""Hi""; std::cout << exampleString << &rcv << std::endl; return 0; } }}} returns the warning {{{ 1>BoostMessageQueueTest.cpp 1>c:\program files\microsoft visual studio 8\vc\include\xutility(2404) : warning C4996: 'std::_Copy_backward_opt' was declared deprecated 1> c:\program files\microsoft visual studio 8\vc\include\xutility(2391) : see declaration of 'std::_Copy_backward_opt' 1> Message: 'You have used a std:: construct that is not safe. See documentation on how to use the Safe Standard C++ Library' 1> e:\boost building\boost_1_36_0\boost\interprocess\ipc\message_queue.hpp(270) : see reference to function template instantiation '_BidIt2 std::copy_backward(_BidIt1,_BidIt1,_BidIt2)' being compiled 1> with 1> [ 1> _BidIt2=boost::interprocess::detail::mq_hdr_t::msg_hdr_ptr_t *, 1> _BidIt1=boost::interprocess::detail::mq_hdr_t::msg_hdr_ptr_t * 1> ] }}} however if I do: {{{ #include #include #include int main(int argc, char* argv[]) { boost::interprocess::message_queue* rcv; std::string exampleString = ""Hi""; std::cout << exampleString << &rcv << std::endl; return 0; } }}} then everything builds without any warnings.",Bugs,closed,To Be Determined,interprocess,Boost 1.36.0,Problem,invalid,,