title: Naming of hierarchical structures in C++
body: <p>I need advice for the following hierarchical structure, I want to represent in a C++ program.</p>
  
  <p>There is one abstract class <code>uri</code> and the classes <code>url</code> and <code>urn</code> which derive from it.
  I would like to have one directory containing the source code of the uri concept. And a namespace which should be called .. <code>uri</code>. :)</p>
  
  <p>So, I'm coming to my question.
  When the namespace is already called "uri", how would I name the abstract class "uri" then?
  What naming convention is usual for this problem in C++?
  base, uri_base, basic_uri or how would you name it?</p>
  
  <p>And my second question is. How often can you nest namespaces before users get tedious of it? For example, I've got uri parts like <code>authority</code>, <code>query</code> and so on..
  Would it be wise to create a new namespace (for example: <code>parts</code>) and put the source code of this classes in a new subdirectory? Or does this just get "overdesigned"?</p>
  
  <p>Thanks and regards</p>
  
  <p>reeaal</p>