10.6. Namespaces

Namespaces in the IDL exactly correspond to the C++ namespaces. Namespace definition satisfies the following syntax, which is the same as the C++ namespace syntax:


 (3)            <namespace> ::= "namespace"
                                <identifier>
                                "{" <definition>* "}"

As mentioned in Section 9.2, “IDL in the Massiv” the user must provide the C++ defintion and implementation of the classes described in the IDL. The IDL class description should be located in the same namespace as the C++ class. Otherwise the IDL processor wouldn't be able to generate object factories and metaobjects that would be able to work with the relevant managed class.

The namespace specified in the IDL doesn't have anything in common with the namespace where the object factories and metaobjects are generated (for both of these, the Massiv::Generated namespace is used always).