Signal mapping for C++ (C++ code)
For each Signal that is not nested or non-member, ACS generates a header file (.h) and an implementation file (.cpp). Nested Signals are generated within the parent class declaration.
The class declaration and implementation is derived from the items it owns and properties of the Signal.
Child items:
If a typed Part (Attribute) has an Association that has not been rolled up to the Part's type, ACS generates a nested class that is derived from the Part's type. The nested class defines the Role that is modeled against the Part.
If an Interface owns Parts (Attributes or Roles) that are connected through an Association, initialization code is generated in the constructor for the Interface.
• If the Signal owns Classes, the nested Classes are generated within the class declaration, unless its C++ Non Member tag definition is set to TRUE.
If a typed Part (Role) has an Association that has not been rolled up to the Part's type, ACS generates a nested class that is derived from the Part's type. The nested class defines the Role that is modeled against the Part.
If a Signal owns Parts (Attributes or Roles) that are connected through an Association, initialization code is generated in the constructor for the Signal.
Note that nested Signals are ignored.
Properties
• The Abstract property is ignored.
• If the Description property has a value, ACS generates the description as a comment on the line before the class declaration.
• The Formal TemplatevParameters property is generated as the formal template parameters for a template class.
• The Name property is generated as the name of the header and implementation files, and the name of the class in the code.
Note that ACS may modify the class name that is added to the code to make it valid for C++. You can specify the exact class name to add to the code through the CODE_GENERATION_NAME property of a Signal.
Tell me more...• The Persistent property is ignored.
• If the Template property is set to true (Template check box selected on Property Pages), the Signal is generated as a template class using the Formal Template Parameters that are specified.
• If the Union property is set to true (Template check box selected on Property Pages), the Signal is generated as a union.
Tag Definitions:
None.