623. pubimbue forbidden to call imbue

Section: 31.2.1 [iostream.limits.imbue] Status: CD1 Submitter: Martin Sebor Opened: 2007-01-20 Last modified: 2016-01-28

Priority: Not Prioritized

View all issues with CD1 status.

Discussion:

31.2.1 [iostream.limits.imbue] specifies that "no function described in clause 27 except for ios_base::imbue causes any instance of basic_ios::imbue or basic_streambuf::imbue to be called."

That contradicts the Effects clause for basic_streambuf::pubimbue() which requires the function to do just that: call basic_streambuf::imbue().

Proposed resolution:

To fix this, rephrase the sentence above to allow pubimbue to do what it was designed to do. Specifically. change 31.2.1 [iostream.limits.imbue], p1 to read:

No function described in clause 27 except for ios_base::imbue and basic_filebuf::pubimbue causes any instance of basic_ios::imbue or basic_streambuf::imbue to be called. ...