[filesystem] iterator VC 10.0

Hi,
I tried to compile the following lines with VC 10:
void path_adapter::convert( const boost::filesystem::path& p)
{
typedef boost::filesystem::path::const_iterator const_path_iterator;
for (const_path_iterator pos = p.begin(); pos < p.end(); ++pos)
{
//...
}
}
and got the error: error C2039: 'distance_to': is not an element of
'boost::filesystem::basic_path

AMDG Commander Pirx wrote:
I tried to compile the following lines with VC 10:
void path_adapter::convert( const boost::filesystem::path& p) { typedef boost::filesystem::path::const_iterator const_path_iterator; for (const_path_iterator pos = p.begin(); pos < p.end(); ++pos) { //... } }
and got the error: error C2039: 'distance_to': is not an element of 'boost::filesystem::basic_path
::iterator' Seems to be a problem of the new iterator facade implementation. I had no trouble with this method until Boost 1.43.0. Any idea how to fix this?
path iterators are only bidirectional iterators. This has always been the case (I checked back to 1.33.1). Try comparing using !=. In Christ, Steven Watanabe

I tried to compile the following lines with VC 10:
void path_adapter::convert( const boost::filesystem::path& p) { typedef boost::filesystem::path::const_iterator const_path_iterator; for (const_path_iterator pos = p.begin(); pos < p.end(); ++pos) { //... } }
and got the error: error C2039: 'distance_to': is not an element of 'boost::filesystem::basic_path
::iterator' Seems to be a problem of the new iterator facade implementation. I had no trouble with this method until Boost 1.43.0. Any idea how to fix this?
path iterators are only bidirectional iterators. This has always been the case (I checked back to 1.33.1). Try comparing using !=.
In Christ, Steven Watanabe
You're right. My fault. The original error was a problem with std::for_each() in conjunction with boost::bind. But currently I have no simple piece of code to reproduce this error. Pirx!
participants (2)
-
Commander Pirx
-
Steven Watanabe