Integrations (PTC products, 3rd party products and code) > Code integration (Ada, ARINC 653, C, C#, C++, IDL, Java, SQL and VB) > C++ code > Generating C++ code > Generating C++ code > Modeling C++ code in Modeler > Adding the C++ profile package to a model (C++ code)
  
Adding the C++ profile package to a model (C++ code)
* 
If you want a complete and documented C++ profile in your model, you must add the supplied C++ profile to your Model.
To add the C++ profile to a model, you require Database Write access permissions to the Model's Database.
If you reverse engineer C++ code to a model that does not contain the C++ profile, the Reverser creates a C++ Profile in the Model; however, the C++ profile it creates may contain only the Stereotypes and Tag Definitions required for the code you reverse engineered, and each Stereotype and Tag Definition of the C++ Profile package will not include a description of its purpose.
If the Reverser has created a C++ profile in your Model and you want to update it so that it is complete and includes the Stereotype and Tag Definition descriptions, see Updating the C++ profile package in a model (C++ code).
* 
Do not make changes to the C++ profile. Any changes you make will be lost when the profile is updated.
Note that you can create Tag Definitions outside of the C++ profile, and link those Tag Definitions to Stereotypes in the C++ profile. When the C++ profile is updated, the links will not be broken.
Do not create copies of the C++ profile within a model, or create copies of the C++ profile through XMI Import/Export. The copies of the C++ profile will not work correctly and you will not be able to update the copies through the Update All Profiles command.
To add the C++ Profile package to a model:
1. From Modeler, open the Model to which you want to add the C++ Code Profile package.
2. On the Tools menu, click Add Profile.
3. Select the C++ entry, and then click OK.
The C++ profile package is created in the Model as a protected Package, as indicated by the gray icon.
* 
The time taken to reverse engineer code will be reduced if you have write access to the Model and each Package in that Model, and in each case the Model or Package is not protected.