title: Using Lambda function in boost::unordered_set of strings - case insensitive
body: <p>Objective : Need to have boost::unordered_set of strings - case insensitive.
  But this set is a member variable of a class.</p>
  
  <p>If it is not a member variable, I can create this set as follows. It works for me.</p>
  
  <pre><code>auto hash= [](const std::string&amp; s) -&gt; size_t
  {
      size_t seed = 0;
      //Logic
      return seed;
  };
  
  auto equal= [](const std::string&amp; s1, const std::string&amp; s2)
  { 
      return boost::algorithm::iequals(s1, s2, std::locale());
  };
  
  typedef boost::unordered_set&lt;std::string, decltype(hash), decltype(equal) &gt; StringSet;
  </code></pre>
  
  <p>As my boost::unordered_set is a class member, I can't define it as above.</p>
  
  <p>How I create this class member with lambda functions instead of functors.</p>