title: how to make stl::map key case insensitive
body: <p>I am new to stl's. Here is my below program.</p>
  
  <pre><code>typedef pair&lt;string, int&gt; p;
  int main(int argc, char *argv[])
  {
    map&lt;string,int&gt; st;
    st.insert(p("hello",1));   //Inserted "hello" as key to map.
    st.insert(p("HELLO",1));   //Inserted "HELLO" as key to map. 
    cout&lt;&lt;"size="&lt;&lt;st.size()&lt;&lt;endl;    //Output is 2 because two records found "hello" and "HELLO"
    return 0;
  }
  </code></pre>
  
  <p>I don't want to take account of the repeated case changes(upper case to lower case words or vice-versa). Here "st.insert(p("HELLO",1));" should fail, hence the no. of records should be "1" instead of "2". Is there any flag setup or like so?</p>
  
  <p>I was unable to find the related questions hence posted this question.</p>
  
  <p>Any help is thankful.</p>