title: Compile time string hashing
body: <p>I have read in few different places that using C++11's new string literals it might be possible to compute a string's hash at compile time.  However, no one seems to be ready to come out and say that it will be possible or how it would be done.</p>
  
  <ul>
  <li>Is this possible?</li>
  <li>What would the operator look like?</li>
  </ul>
  
  <hr>
  
  <p>I'm particularly interested use cases like this.</p>
  
  <pre><code>void foo( const std::string&amp; value )
  {
     switch( std::hash(value) )
     {
        case "one"_hash: one(); break;
        case "two"_hash: two(); break;
        /*many more cases*/
        default: other(); break;
     }
  }
  </code></pre>
  
  <p>Note: the compile time hash function doesn't have to look exactly as I've written it.  I did my best to guess what the final solution would look like, but <code>meta_hash&lt;"string"_meta&gt;::value</code> could also be a viable solution.</p>