Title
basic_streambuf is not an abstract class
Status
new
Section
[streambuf]
Submitter
Jonathan Wakely

Created on 2015-05-28.00:00:00 last changed 115 months ago

Messages

Date: 2015-05-28.00:00:00

[streambuf] p1 says:

The class template basic_streambuf<charT, traits> serves as an abstract base class for deriving various stream buffers whose objects each control two character sequences: […]

The term "abstract base class" is not defined in the standard, but "abstract class" is ([class.abstract]).

According to the synopsis basic_streambuf has no pure virtual functions so is not an abstract class and none of libstdc++, libc++, or dinkumware implement it as an abstract class. I don't believe the wording was ever intended to require it to be an abstract class, but it could be read that way.

I suggest the wording be changed to "polymorphic base class" or something else that can't be seen to imply a normative requirement to make it an abstract class.

History
Date User Action Args
2015-05-28 00:00:00admincreate