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.