Description
It is possible to declare a namespace made up of members of other namespaces. For example, if you say:
namespace A { void f() {} } namespace B { void f() {} void g() {} } namespace C { using namespace A; using B::g; }then this means that namespace C is composed of all the members of namespace A, and the member B::g() from namespace B. This mechanism is useful in a variety of interface design approaches. For example, you may wish to create a new namespace, that uses declarations from several existing namespaces, and therefore provides an interface or window into a large body of types.
Concept
The sample program defines a namespace D composed of three namespaces A, B, and C. The new namespace incorporates all of namespaces A and B, and member C::h() from C.
Supported
Supported
Supported