title: How to define a static operator<<?
body: <p>Is it possible to define a static insertion operator which operates on the static members of a class only? Something like:</p>
  
  <pre><code>class MyClass
  {
  public:
      static std::string msg;
  
      static MyClass&amp; operator&lt;&lt; (const std::string&amp; token) {
          msg.append(token);
          return *this;   // error, static
      }
  };
  </code></pre>
  
  <p>alternatively:</p>
  
  <pre><code>static MyClass&amp; operator&lt;&lt; (MyClass&amp;, const std::string &amp;token)
  {
      MyClass::msg.append(token);
      return ?;
  }
  </code></pre>
  
  <p>This is how I would like to use it:</p>
  
  <pre><code>MyClass &lt;&lt; "message1" &lt;&lt; "message2";
  </code></pre>
  
  <p>Thank you!</p>