title: is it possible to make std::string always hold a lower-case string?
body: <p>is it possible to make std::string always hold a lower-case string?
  here's how I would use it:</p>
  
  <pre><code>typedef std::basic_string&lt;...&gt; lowercase_string;
  
  void myfunc()
  {
    lowercase_string s = "Hello World"; // notice mixed case
    printf(s.c_str());                  // prints "hello world" in lowercase
    std::string s2 = s;
    printf(s2.c_str());                 // prints "hello world" in lowercase
  }
  </code></pre>