Are there any components of the containers, iterators and algorithms that impose any feature that
isn't already described in the remaining C++ standard?
No. But you need input/output part of library to make your C++
software capable to communicate with outside world. Or do you want to
leave it implementation specific? Even if you consider argv and argc
as input then sole int returned by main smells anyway like shit?
Traits, memory management and exceptions impose such language features
that are only accessible using standard library (if you do not want to
use some platform/implementation specific methods). It will go even
further once threads, synchronization primitives and so on are added
into standard.
Not necessarily. If the C++ programming language standard describes the C++ programming language
as the set of definitions described in, say, "ISO 14882-1 Part 1: core language" and "ISO 14882-2
Part 2: the STL" then the same language definition remains valid.
C++ library is *not* STL.
Standard describes only interface and behavior of C++ library. The
library has to be implemented by compiler vendor. Compiler vendor may
of course take some existing portable implementation but it will have
then all the portability overhead in it too and so it is most likely
bad way to go.
STL however is a real piece of software. STL is made by two smart
enthusiasts. Alexander Stepanov and Meng Lee. They first made it for
some software house they worked for like AT&T or HP and later released
it into public domain, where other enthusiasts have been improving it.
Someone proposed to standard commitee to include *parts* of that STL
interface into standard library and committee pondered it and
accepted. STL is somewhat like boost. Boost is only bigger portable
implementation of useful libraries and it is made by lot more
enthusiasts. Some pieces of boost have also been proposed as parts for
standard library and like we all see these are on the way to standard.
That issue is ortogonal to of how a standard is designed.
Yes. But splitting language standard into small pieces helps to muddy
it up and we all will lose in the process. If you want them to be
separate then take the draft print it out and put the pages describing
library (§17-§27) into other pile. Then you will have them separated.