namespace define declarations create c++ namespaces alias

c++ - define - namespace in c



Renombrando espacios de nombres (2)

He estado haciendo C ++ durante mucho tiempo, pero esta mañana me he encontrado con una pregunta a la que no pude responder: "¿Es posible crear alias para espacios de nombres en C ++?

Déjame dar un ejemplo. Digamos que tenía el siguiente encabezado:

namespace old { class SomeClass {}; }

Que, por razones no especificadas, tuvo que convertirse en:

namespace _new { namespace nested { class SomeClass {}; // SomeClass hasn''t changed } }

Ahora, si tengo una base de código antigua que se refiere a SomeClass , puedo "arreglar" rápidamente (y de forma directa) el cambio agregando:

namespace old { typedef _new::nested::SomeClass SomeClass; }

Pero, ¿hay una manera de importar todo, desde _new::nested a old sin tener que typedef explícitamente cada tipo?

Algo similar a Python import * from ...

Gracias.


Esta:

namespace old = newns::nested;

Parecería ser lo que quieres.