Should basic_*stream::is_open() be const?
Matt Austern
austern@apple.com
Fri Aug 13 02:02:00 GMT 2004
On Aug 12, 2004, at 5:24 PM, Andreas Kohn wrote:
> Hi,
>
> while porting some code written for Microsoft Visual C++, I found that
> the is_open() method of the different streams in <fstream> is not
> const.
> This required that I had to remove const from a lot of places in the
> code in question.
>
> The basic_filebuf::is_open() is marked as const, and all
> *stream::is_open() methods only reference basic_filebuf::is_open() in
> their is_open() implementation.
> I do not see a particular reason why the is_open() methods couldn't be
> const as well.
>
> I do know that there is a C++ Standard, but I don't have it for
> reference, so I am not perfectly sure if this is a "bug" in libstdc++,
> the Microsoft STL implementation, or perhaps an omission from the
> standard.
The latter.
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-defects.html#365
--Matt
More information about the Libstdc++
mailing list