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.
using namespace new::nested;
O si realmente quieres un alias real:
namespace on = one::nested;