この変換は、「C++ 変換」プロファイルを使用して、UML ですぐには使用できないモデルに関する情報を伝えます。 このプロファイルには、以下のステレオタイプが含まれます。
ステレオタイプ |
適用先 |
属性 |
タイプ |
cpp_type |
パラメーター、プロパティー |
isMutable、 限定子 (文字列)、 InitializerKind (列挙) |
Boolean (デフォルト値 false) |
cpp_generalization |
汎化 |
GeneralizationKind |
列挙 |
cpp_struct |
クラス |
|
Boolean (デフォルト値 false) |
cpp_union |
クラス |
isAnonymousUnion |
Boolean (デフォルト値 false) |
cpp_typedef |
クラス |
ImplementationType |
String |
cpp_dependency |
依存 |
isInclusionInHeader |
Boolean (デフォルト値 false) |
cpp_friend |
依存 |
|
Boolean (デフォルト値 false) |
cpp_namespace |
パッケージ、モデル |
NamespaceName |
文字列 |
cpp_operation |
操作 |
isInline、isVirtual、isFriend |
Boolean (デフォルト値 false) |
cpp_constructor |
操作 |
isExplicit、isInline |
Boolean (デフォルト値 false) |
cpp_copy_constructor |
操作 |
isExplicit、isInline |
Boolean (デフォルト値 false) |
cpp_destructor |
操作 |
isVirtual、isInline |
Boolean (デフォルト値 false) |
cpp_assignment |
操作 |
isInline |
Boolean (デフォルト値 false) |
複数の C++ 変換ステレオタイプを UML オブジェクトに適用しないでください。 複数のステレオタイプを適用すると、以下のような影響があります。
· UML クラス (cpp_struct、cpp_union、cpp_typedef):適用するステレオタイプの数にかかわらず、変換が作成するのは 1 つのオブジェクトのみです。 変換は cpp_typedef を優先します。cpp_typedef ステレオタイプを適用せずに cpp_struct ステレオタイプと cpp_union ステレオタイプの両方を適用すると、変換は、標準操作を使用せずに C++ struct を生成します。
· UML 依存 (cpp_dependency、cpp_friend): 両方のステレオタイプを適用すると、変換は、両方のステレオタイプを処理し、「friend」関係および依存を作成します。
· UML 操作 (cpp_operation、cpp_constructor、cpp_copy_constructor、cpp_destructor、cpp_assignment): 変換で作成されるオブジェクトは、操作に適用するステレオタイプの数に関係なく 1 個だけです。 以下のリストでは、ステレオタイプの優先順位を高いほうから低いほうへ表示します。
o cpp_constructor、
o cpp_copy_constructor、
o cpp_destructor、
o cpp_assignment、
o cpp_operation