Boost logo

Boost :

From: Dave Odell (dmo2118_at_[hidden])
Date: 2006-06-13 16:34:17

When I run the following program (under Windows XP, Visual C++ 8), the
BOOST_ASSERT statement fails (If you want to run it, make sure there's a
file named temp.cpp in the same folder):

#include <boost/iostreams/device/mapped_file.hpp>
#include <iostream>

int main()
        boost::iostreams::mapped_file file;"temp.cpp", std::ios_base::in);
    catch(const std::exception &exc)
        std::cout << exc.what() << std::endl;

    return 0;

I think the problem is in mapped_file.cpp, line 124:

bool mapped_file_source::is_open() const
{ return !!pimpl_ && pimpl_->handle_ != 0; }

Since mapped_file_impl::close() sets handle_ to INVALID_HANDLE_VALUE
(mapped_file.cpp, line 65), I would guess that is_open() should say
pimpl_->handle_ != INVALID_HANDLE_VALUE.

Dave Odell

Boost list run by bdawes at, gregod at, cpdaniel at, john at