I think you can blame me for this.
I found that throwing an exception is nothing but the size of the code. And so I would like to outline functions that, when possible, fall into the sources.
basic_ios::clear()it must sometimes throw an exception and is also a template class. If I remember correctly, it irritated me, because rdstateobviously does not depend on a template parameter basic_ios: CharT, Traits. So I implemented rdstatein the base class ( ios_base), so that any related non-intensive code could be used by all instances basic_ios.
style , ios_base::clear() src/ios.cpp. protected ios_base, basic_ios::clear() - .
: "" - .