以下の表には、プロファイルのステレオタイプと、その関連するプロパティーおよびタイプがリストされています。
| ステレオタイプ | 適用対象 | プロパティー | タイプ |
|---|---|---|---|
| «cpp_assignment» | 操作 | isInline | デフォルト値として false を持つ Boolean。 |
| «cpp_body_comment» | 関数や静的変数に対するコメントなど、ソース・コードに表示したいコメント | ||
| «cpp_constructor» | 操作 | isExplicit、isInline | デフォルト値として false を持つ Boolean。 |
| «cpp_copy_constructor» | 操作 | isExplicit、isInline | デフォルト値として false を持つ Boolean。 |
| «cpp_dependency» | 依存関係 | isInclusionInHeader | デフォルト値として false を持つ Boolean。 値が true に設定されている場合は、ヘッダー・ファイルに #include ディレクティブが生成されます。 |
| «cpp_destructor» | 操作 | isVirtual、isInline | デフォルト値として false を持つ Boolean。 |
| «cpp_friend» | 依存関係 | ヘッダー・ファイルに #include ディレクティブが生成されます。 | |
| «cpp_generalization» | 汎化関係、InterfaceRealization 関係 | GeneralizationKind | public、protected、private、およびデフォルト値を持つ列挙型 (0-public、1-protected、2-private、3-default) |
| isVirtual | デフォルト値として false を持つ Boolean であり、仮想継承を示します。 |
||
| «cpp_namespace» | パッケージ | NamespaceName | String |
| «cpp_operation» | 操作 | isInline | デフォルト値として false を持つ Boolean。 値が true に設定されている場合には、インラインとして操作が生成され、 対応するヘッダー・ファイルに操作本体が追加されます。 |
| isVirtual | デフォルト値として false を持つ Boolean。 値が true に設定されている場合は、仮想関数として操作が生成されます。 | ||
| isFriend | デフォルト値として false を持つ Boolean。値が true に設定されている場合は、フレンド操作が生成されます。 | ||
| «cpp_struct» | クラス | ||
| «cpp_type» | プロパティー、パラメーター | arrayDimensions | String。通常は、UML 2.0 ではサポートされない多次元配列を指定するために使用されます。 例えば、プロパティーに対して [10][20]、 戻りの型でないパラメーターに対しては [][10] などとします。 |
| InitializerKind | constructor および assignment の値を持つ列挙型 (0-constructor) InitializerKind が 0 に設定されている場合、変換でコンストラクター・イニシャライザーが生成されます。 InitializerKind が 1 に設定されている場合、 変換でコンストラクターに代入ステートメントが生成されます。 以下の UML から C++ への変換で «cpp_type» ステレオタイプを適用して、要素をどのように変換するかを示す例。 を参照してください。 |
||
| isAuto、isMutable、isRegister、isVolatile | デフォルト値として false を持つ Boolean。 | ||
| qualifier | String。** や & など、変数名の前かつ型名の後に表示されるコード要素のような、UML でモデル化できない C++ の型の一部が含まれます。
例えば、const int **a[12][33] は、以下によって表されます。
|
||
| «cpp_typedef» | クラス | arrayDimensions | String |
| ImplementationType | typedef が参照するタイプを指定します。プリミティブ・タイプかユーザー定義タイプのいずれかになります。 ユーザー定義タイプは、完全修飾してもしなくてもかまいません。 タイプ名が完全修飾されない場合、typedef のスコープがユーザー定義タイプに適用されます。 | ||
| qualifier | ポインター型や定数などを指定します。 例えば、変換では、以下の UML 要素に対して const int **Typedef1[12][13] が生成されます。
|
||
| «cpp_union» | クラス | isAnonymousUnion | デフォルト値として false を持つ Boolean。 |