"Vladimir Merzliakov" <wanderer@rsu.ru> writes:
| > | Without this methods being const (which they should be IMHO from a
| > | logical perspective, as they do not change the internal state of the
| > | stream but simply return state information), methods that use these
| > | methods can not be const.
| > | This "can not be const" will easily cascade into upper layers, which
| > | reduces quality and safeness of the code.
| > |
| > | What are your doubts? Is there anything I might miss?
| >
| > What do you do with a const stream?
|
| class Parser {
| std:ifstream m_in;
| public: bool isOK() const { return m_in.is_open(); }
| };
|
| ?
You're telling me that you need a const member function because you
need a constant member function. A parser, is kind of stream. My
question was what do you with a const stream. If your const parser is
not OK what do you to it?