Resolve include conflicts (re-definitions) or how to include declared members selectively
<p>I want to include std::unique_lock and some other names from the &lt;mutex&gt; header, but not std::mutex and other names (which I have a different declaration of - in Relacy Race Detector if you're curious). Which is causing compile errors. How can I do this?</p>

<p>Edit: The compiler errors which occur when RRD and &lt;mutex&gt; are included are:</p>

<pre><code>error C2371: 'rl::condition_variable' : redefinition; different basic types C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\mutex    58  1   test_hashtable
error C2371: 'rl::mutex' : redefinition; different basic types  C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\mutex    100 1   test_hashtable
error C2371: 'rl::recursive_mutex' : redefinition; different basic types    C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\mutex    114 1   test_hashtable
</code></pre>
