
namespace1->
                       namespace2->
                                              [...]
                       classes->                                             
                                      MyFooClass1 ->
                                                               member1
                                                               member2
                                      MyFooClass2->
                                                              [...] 
                       structs->
                                    foo_struct_1->
                                                         [..]
                       unions->
                                   [...]
                       functions->
                                       my_foo_func (int par1, char* par2)
                       variables->   
                                        [....]                                                                                         
                      macros->
                                    [...]
                      typedefs->
                                      [...]
                      enumerators->                       
                                           [...]
namespace2->
                       [...]
classes->
structs->
unions->
functions->
variables->
macros->
typedefs->
enumerators->                       
other_kind_of_vars->
other_kind_of_scopes [coming from different languages] ->                       
                       
                       
                       
