Subject: [Boost-bugs] [Boost C++ Libraries] #3241: Patch for convenience.hpp compatibility with STLport
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-07-03 15:50:34
#3241: Patch for convenience.hpp compatibility with STLport
--------------------------------------+-------------------------------------
Reporter: andysem | Owner: bemandawes
Type: Bugs | Status: new
Milestone: Boost 1.40.0 | Component: filesystem
Version: Boost 1.39.0 | Severity: Problem
Keywords: stlport change_extension |
--------------------------------------+-------------------------------------
The STLport has optimization for std::string so that string concatenation
via operator+ does not yield an std::string object but rather a template
expression temporary object of an internal type. This optimization breaks
compilation of the convenience.hpp header on MSVC 9, at least. In the
change_extension function the concatenation result is passed to operator/,
which causes the following error:
{{{
.\boost/filesystem/convenience.hpp(84) : error C2679: binary '/' : no
operator found which takes a right-hand operand of type
'stlp_std::priv::__bstr_sum<_CharT,_Traits,_Alloc,_Left,_Right,_StorageDirection>'
(or there is no acceptable conversion)
with
[
_CharT=char,
_Traits=stlp_std::char_traits<char>,
_Alloc=stlp_std::allocator<char>,
_Left=stlp_std::priv::__bstr_wrapper<char,stlp_std::char_traits<char>,stlp_std::allocator<char>>,
_Right=stlp_std::priv::__bstr_sum<char,stlp_std::char_traits<char>,stlp_std::allocator<char>,stlp_std::priv::__bstr_wrapper<char,stlp_std::char_traits<char>,stlp_std::allocator<char>>,stlp_std::priv::__sum_storage_elem<char,stlp_std::char_traits<char>,stlp_std::allocator<char>>,stlp_std::priv::__on_right>,
_StorageDirection=stlp_std::priv::__on_right
]
}}}
The attached patch resolves the problem.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/3241> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:00 UTC