title: Which standard c++ classes cannot be reimplemented in c++?
body: <p>I was looking through the plans for C++0x and came upon <code>std::initializer_list</code> for implementing initializer lists in user classes.  This class could not be implemented in C++
  without using itself, or else using some "compiler magic".  If it could, it wouldn't be needed since whatever technique you used to implement <code>initializer_list</code> could be used to implement initializer lists in your own class.</p>
  
  <p>What other classes require some form of "compiler magic" to work?  Which classes are in the Standard Library that could not be implemented by a third-party library?</p>
  
  <p>Edit: Maybe instead of implemented, I should say instantiated.  It's more the fact that this class is so directly linked with a language feature (you can't use initializer lists without <code>initializer_list</code>).  </p>
  
  <p>A comparison with C# might clear up what I'm wondering about: IEnumerable and IDisposable are actually hard-coded into language features.  I had always assumed C++ was free of this, since Stroustrup tried to make everything implementable in libraries.  So, are there any other classes / types that are inextricably bound to a language feature.</p>