title: typedef for enum from template base class
body: <p>Followup on an answer from last night - I was hoping more comments would answer this for me but no dice.</p>
  
  <p>Is there a way to achieve this without inheritance that does not require the cumbersome usage in the penultimate line of code below, which writes the value to <code>cout</code>?</p>
  
  <pre><code>struct A {
      enum E {
          X, Y, Z
      };
  };
  
  template &lt;class T&gt;
  struct B {
      typedef typename T::E E;
  };
  
  // basically "import" the A::E enum into B.
  int main(void)
  {
      std::cout &lt;&lt; B&lt;A&gt;::E::X &lt;&lt; std::endl;
      return 0;
  }
  </code></pre>