This chapter describes all constraints added by the ANSI profile.
Operation
- isQuery set to true only applies to a member operation (non global).
- virtual tag set to true only applies to a non static member operation.
Constructor
- operation with «C++Constructor» stereotype.
- Name should be the same as the owner’s name.
Destructor
- operation with «C++Destructor» stereotype.
- Name should be ‘~’ + the same name as the owner’s name.
Global
Class with «C++Global» stereotype:
- Name length should be 0.
- All operations and attributes should be public.
- There can be only one global class by namespace.
- Owner of a global class can only be a package
Typedef
Class with «C++Typedef» stereotype:
- One and only one «C++BaseType» dependency from a «C++Typedef» class.
- «C++BaseType» supplier dependency can only be a Classifier or Operation.
- «C++Typedef» class cannot contain an attribute and operation.
- Only one inner Class or inner Enumeration is valid.
Friend
Dependency with «C++Friend» stereotype:
- «C++Friend» client dependency can only be Class or Operation.
- «C++Friend» supplier dependency can only be Class.