Bonjour à tous,
Comment organiser son projet dans une hiérarchie cohérente d'espace de nommage succeptible d'etre souvent revue ?

La forme générale pourrait ressemblerait par exemple à ceci:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
root{
 a{
  classe1
  classe2
 }
 b{
  classe3
 }
 c{
  d{
    classe4
  }
 }
}

Actuellement je me suis dis que je pourrais faire ceci (mais j'ai l'impression que ce n'est pas possible) :

classe1.h:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 class classe1{
  ...
 }
 
 namespace a{
  class classe1;
 }
idem pour les autre headers, ex classe4.h
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
 class classe4{
  ...
 }
 
 namespace d{
  class classe4;
 }

ensuite j'imagine un fichier .h quelconque reprenant la hiérarchie des namespace que j'espere pouvoir "modeler" comme je veux, par exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
namespace root{
 namespace a{};
 namespace b{};
 namespace c{
  namespace d{};
 };
}
 
// et pour finir faire des alias sur les namespaces pour qu'ils soient moins
//rébarbatifs qu'en interne (le but et de rester le plus libre face au noms et a
//l'organisation des namespaces)
 
//genre :
namespace racine = root;
namespace employes = a;
namespace batiments = b;
namespace utilitaires = c;
namespace base = d;
est ce que dans ce cas une ligne du type :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
racine::utilitaires::base::classe4 varc4;
serait valide ?

Merci de bien vouloir m'éclairer un peu parce que ceci est un peu obscur pour moi ;-)