I believe you have what you need with a combination of foot note 189
which says:
A valid C++ program always calls the expected library member function, or one with equivalent behavior. An implementation may also define additional member functions that would otherwise not be called by a valid C++ program.
and section 17.6.5.11
Derived classes which says:
An implementation may derive any class in the C++ standard library from a class with a name reserved to the implementation.
but does not add any restrictions, i.e. it does not let's say restrict the access qualifiers etc...
and we can see libstdc++ uses derived classes pretty effectively, for example in stl_vector.h. Although as far as I can see libstdc++
does seem to eschew adding public data members but that is probably more for clean design.
At minimum, this looks under-specified but if you stick to something similar to libstdc++
implementation style you should be good.