Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5152: Inconsistent behavior of path.native() function
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-02-04 16:59:53
#5152: Inconsistent behavior of path.native() function
--------------------------------------+-------------------------------------
Reporter: lcarreon@⦠| Owner: bemandawes
Type: Bugs | Status: closed
Milestone: To Be Determined | Component: filesystem
Version: Boost 1.45.0 | Severity: Problem
Resolution: wontfix | Keywords:
--------------------------------------+-------------------------------------
Changes (by anonymous):
* status: new => closed
* resolution: => wontfix
Comment:
This was a real head scratcher!
1. Your test program outputs quotes around the generic_string example but
not around the native example. That confuses the other issues.
2. native() returns const string_type&. On posix, string_type is
std::string, so no problem. Windows, string_type is std::wstring, so
outputting it to std::cout should result in a compile time error. But...
3. Your test program is sloppy about namespaces:
using namespace std;
using namespace boost::filesystem;
On Windows, that lets the class path conversion from wstring to kick in
via ADL, resulting in a path temporary which is then output to cout via
operator <<.
4. Operator << with a path correctly places quotes around the output
string, resulting in the output you are seeing on Windows.
While it might be nice to poison path::operator<<(), that isn't really a
bug in class path so I'm closing this as "won't fix".
--Beman
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/5152#comment:1> 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:05 UTC