id summary reporter owner description type status milestone component version severity resolution keywords cc 4714 boost::tokenizer_detail::traits_extension does not expose correctly std::_Secure_char_traits_tag on VC9 emilm@… jsiek "This issues warning C4996: 'std::char_traits::[various] ': Function call with parameters that may be unsafe because VC STL relies on a tag to chose the safe/unsafe version of the function. {{{ typedef std::basic_string::traits_type Tr; typedef boost::tokenizer_detail::traits_extension Traits; cout << typeid(std::_Char_traits_category_helper::_Secure_char_traits).name() << endl; cout << typeid(std::_Char_traits_category_helper::_Secure_char_traits).name() << endl; }}} prints {{{ _Secure_char_traits_tag _Unsecure_char_traits_tag }}} because _Char_traits_category_helper is defined as {{{ template class _Char_traits_category_helper<_Traits, true> { public: typedef typename _Traits::_Secure_char_traits _Secure_char_traits; }; }}} so it defers to a typedef of _Secure_char_traits inside the trait. By default it is defined to _Unsecure_char_traits_tag. This affects builds with /WX (treat warnings as errors) and generally causes a lot of warnings for otherwise harmless code (for example date_time relies on tokenizer to parse strings)" Bugs new To Be Determined tokenizer Boost 1.44.0 Problem