title: wrong constructor used in template class
body: <p>I need to use inside my templated class a <code>boost::interprocess::mutex</code>
  Inside my function I declared my variable the way below</p>
  
  <pre><code>  named_mutex mutex(open_only, m_name.c_str() 
    ,permissions(0666));
  </code></pre>
  
  <p>I don't know why I cannot compile and I get an error below.
  How is it possible that the compiler doesn't use the right constructor (it tries to match a constructor having const reference) and how to force using the right one?</p>
  
  <pre><code>    error: no matching function for call to   
      boost::interprocess::named_mutex::named_mutex(const 
      boost::interprocess::open_only_t&amp;,   const char*, boost::interprocess::permissions)’
      /usr/local/include/boost/interprocess/sync/named_mutex.hpp:140: note: 
      candidates are: 
      boost::interprocess::named_mutex::named_mutex(boost::interprocess::open_only_t, const char*)
  </code></pre>