title: Testing specific class name in different namespaces (SFINAE?)
body: <p>Assume I have several classes with the same name in different namespaces. </p>
  
  <pre><code>namespace A { class Foo { ... }; }
  namespace B { class Foo { ... }; }
  namespace C { class Foo { ... }; }
  </code></pre>
  
  <p>I'd like to detect in compile-time if class named <code>Foo</code> despite namespace. For example some SFINAE class,</p>
  
  <pre><code>template &lt;typename T&gt; struct is_Foo {
    static const bool value = /* some magic here */;
  }; 
  </code></pre>
  
  <p>Then I want <code>is_Foo&lt;A::Foo&gt;::value</code> was true, <code>is_Foo&lt;B::Foo&gt;::value</code> was true and <code>is_Foo&lt;A::Bar&gt;::value</code> was false.</p>
  
  <p>Then, I'd like to use <code>is_Foo</code> in <code>static_assert</code> or <code>std::enable_if</code>. Is it possible?</p>