A Slice module maps to a C++ namespace. The mapping preserves the nesting of the Slice definitions. For example:
{zcode:slice} module M1 { module M2 { // ... }; // ... }; // ... module M1 { // Reopen M1 // ... }; {zcode} |
This definition maps to the corresponding C++ definition:
{zcode:cpp} namespace M1 { namespace M2 { // ... } // ... } // ... namespace M1 { // Reopen M1 // ... } {zcode} |
If a Slice module is reopened, the corresponding C++ namespace is reopened as well.