title: boost bimap set_of with user defined comparator
body: <p>I plan to use my own compare function with boost bimap. The issue i am trying to address is when i use  boost bimap with a pointer, the comparison should not compare the two pointers but should compare the class which is pointed by the pointer. </p>
  
  <p>I tried the following code. But it doesn't even compile. What am i doing wrong? Also is there a simpler way to achieve less function that compares two objects and not two pointers pointers)</p>
  
  <pre><code>typedef std::set&lt;int&gt; ruleset;
  
  template &lt;class myclass&gt;
  bool comp_pointer(const myclass &amp;lhs, const myclass &amp;rhs)
  {
      return ((*lhs) &lt; (*rhs));
  }
  
  typedef boost::bimap&lt;set_of&lt;ruleset *, comp_pointer&lt;ruleset *&gt; &gt;, int&gt; megarulebimap;
  </code></pre>
  
  <p>Error messages:</p>
  
  <p>party1.cpp:104:64: error: type/value mismatch at argument 2 in template parameter list for 'template struct boost::bimaps::set_of'
  party1.cpp:104:64: error:   expected a type, got 'comp_pointer'
  party1.cpp:104:70: error: template argument 1 is invalid
  party1.cpp:104:85: error: invalid type in declaration before ';' token</p>