Please note : This help page is not for the latest version of Enterprise Architect. The latest help can be found here.

C++ Options

If you intend to generate C++ code from your model, you can configure the code generation options using the C++ Specifications page of the Options dialog to:

Indicate the version of C++ to generate; this controls the set of templates used and how properties are created
Specify the default reference type used when a type is specified by reference
Specify the default file extensions
Specify default Get/Set prefixes
Define additional Collection Classes - to define custom Collection Classes, which can be simple substitutions (such as CArray<#TYPE#>) or a mix of other strings and substitutions (such as Cmap<CString,LPCTSTR,#TYPE#*,#TYPE#*>); the following Collection Classes are defined by default:
Specify a default source directory
Specify the path that the system uses to search for the implementation file; the first path in the list is the default path when generating new implementation files and parsing existing files - if you add further directories, the system also searches these when parsing existing files

Access     Tools | Options | Source Code Engineering | C++




See also

Disable Language

Leave this checkbox unselected to support C++ code generation.

Select this option to disable C++ code support.



Options for the current model

In the value fields, specify the options that affect all users of the current model:

The version of C++ you are using (which determines which templates to use when generating code)
The default reference type to use when creating properties for C++ attributes by reference
The default header and source file extensions for the code files
The default 'Get' prefix
The default  'Set' prefix
The additional Collection Classes

These options do not apply to other models.



Options for the current user

In the value fields, specify the options that apply under your own user ID in all models that you access:

The default attribute type to create
Whether Namespaces should be generated when generating C++ Classes
What style to apply when generating and processing comments for C++
Whether to generate comments for C++ methods to the declaration, or reverse engineer comments from the declaration
Whether to generate comments for C++ methods to the implementation, or reverse engineer comments from the implementation
Whether to update comments in re-generating code from the model
Whether to update the implementation file in re-generating code from the model
The default source code directory location (click on the Browse button - ( ... ))
The default file extensions to read when importing a directory of C++ code
The Code Editor to use (click on the Browse button - ( ... ))
The search path for the implementation file relative to the header file path



Statemachine Engineering

In the value fields, use the drop-down arrows to set the options to True or False; these options apply to generating code from State Machine models in the current model only:

Use the new Statemachine Template - set to True to use the code generation  templates from Enterprise Architect Release 11 and later, set to False to apply the EASL Legacy templates; also set the C++ Version to ANSI
Generate Trace Code - set to True to generate Trace code, False to omit it


Legacy State Machine Templates

Collection Classes

Click on this button to open the Collection Classes for Association Roles dialog, through which you specify the collection class definitions for Association connectors.


Collection Classes

Learn more