110. istreambuf_iterator::equal not const

Section: 24.6.4 [istreambuf.iterator], 24.6.4.4 [istreambuf.iterator.ops] Status: TC1 Submitter: Nathan Myers Opened: 1998-10-15 Last modified: 2023-02-07

Priority: Not Prioritized

View other active issues in [istreambuf.iterator].

View all other issues in [istreambuf.iterator].

View all issues with TC1 status.

Discussion:

Member istreambuf_iterator<>::equal is not declared "const", yet [istreambuf.iterator::op==] says that operator==, which is const, calls it. This is contradictory.

Proposed resolution:

In 24.6.4 [istreambuf.iterator] and also in [istreambuf.iterator::equal], replace:

bool equal(istreambuf_iterator& b);

with:

bool equal(const istreambuf_iterator& b) const;