id,summary,reporter,owner,description,type,status,milestone,component,version,severity,resolution,keywords,cc 6441,lexical_cast uses non existing std::basic_stringstream::pptr when compiling with -DBOOST_NO_STD_LOCALE,leutloff@…,Antony Polukhin,"BOOST_NO_STD_LOCALE is handled in this context: {{{ #if defined(BOOST_NO_STRINGSTREAM) typedef stl_buf_unlocker local_stringbuffer_t; #elif defined(BOOST_NO_STD_LOCALE) typedef stl_buf_unlocker local_stringbuffer_t; #else typedef stl_buf_unlocker, CharT > local_stringbuffer_t; #endif }}} '''but''' the stl_buf_unlocker class is using missing methods (pptr, pbase, setg, setp): {{{ namespace detail // stl_buf_unlocker { template< class BufferType, class CharT > class stl_buf_unlocker: public BufferType{ public: typedef BufferType base_class; #ifndef BOOST_NO_USING_TEMPLATE using base_class::pptr; using base_class::pbase; using base_class::setg; using base_class::setp; #else CharT* pptr() const { return base_class::pptr(); } CharT* pbase() const { return base_class::pbase(); } void setg(CharT* gbeg, CharT* gnext, CharT* gend){ return base_class::setg(gbeg, gnext, gend); } void setp(CharT* pbeg, CharT* pend) { return setp(pbeg, pend); } #endif }; } }}} These are the errors from the compiler: {{{ ./boost/lexical_cast.hpp:1129:31: error: no members matching ‘boost::detail::stl_buf_unlocker, char>::base_class {aka std::basic_stringstream}::pptr’ in ‘boost::detail::stl_buf_unlocker, char>::base_class {aka struct std::basic_stringstream}’ ./boost/lexical_cast.hpp:1130:31: error: no members matching ‘boost::detail::stl_buf_unlocker, char>::base_class {aka std::basic_stringstream}::pbase’ in ‘boost::detail::stl_buf_unlocker, char>::base_class {aka struct std::basic_stringstream}’ ./boost/lexical_cast.hpp:1131:31: error: no members matching ‘boost::detail::stl_buf_unlocker, char>::base_class {aka std::basic_stringstream}::setg’ in ‘boost::detail::stl_buf_unlocker, char>::base_class {aka struct std::basic_stringstream}’ ./boost/lexical_cast.hpp:1132:31: error: no members matching ‘boost::detail::stl_buf_unlocker, char>::base_class {aka std::basic_stringstream}::setp’ in ‘boost::detail::stl_buf_unlocker, char>::base_class {aka struct std::basic_stringstream}’ }}} Compiling Boost.Test results in some more errors around this problem. I will attach the complete build log when building Boost.Test to show the compiler flags, too. The error is present in 1.48 and trunk. The log is from the trunk build. ",Bugs,closed,Boost 1.50.0,lexical_cast,Boost 1.48.0,Regression,fixed,,antoshkka@…