XCSG:TypeAlias
From AtlasWiki
Revision as of 13:33, 29 April 2014 by TheodoreMurdock (Talk | contribs) (TheodoreMurdock moved page AliasType to TypeAlias)
A TypeAlias introduces a synonym for an existing type analogous to the use of typedef in C and C++.
A TypeAlias does not introduce a new type, but provides a synonym (alias) for a given type, the AliasedType . This type may be an existing type, or an instantiation of a type with template parameters.
A TypeAlias may appear anywhere the referenced type may appear.
The semantics of the model are unchanged if all occurrences of a TypeAlias are replaced by occurrences of the referenced type.
Specification
Metaclass | TypeAlias |
---|---|
Extends | Type |
Description | An alias for an existing type. |
Direct Subkinds | C:Enum |
---|
All Superkinds | Node, ModelElement |
---|
Specified In Edges | |||
---|---|---|---|
In Edge | Predecessor | Multiplicity | Description |
AliasedType | TypeAlias | ✱ | Connects a TypeAlias to the Type or TypeAlias it was declared to duplicate. |
DefinedAs | Variable | ✱ | Connects a Variable or DataFlow node which received its Type via a TypeAlias (such as a C/C++ typedef) to that TypeAlias. |
DataFlow (Node) | ✱ |
Specified Out Edges | |||
---|---|---|---|
Out Edge | Successor | Multiplicity | Description |
AliasedType | Type | 0..1 | Connects a TypeAlias to the Type or TypeAlias it was declared to duplicate. |
TypeAlias | 0..1 |
Known Possible In Edges
| ||||
---|---|---|---|---|
Inherited From | In Edge | Predecessor | Multiplicity | Description |
Node | Contains | Node | 1 | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |
Known Possible Out Edges
| ||||
---|---|---|---|---|
Inherited From | Out Edge | Successor | Multiplicity | Description |
Node | Contains | Node | ✱ | Indicates that the predecessor contains the successor in a sense specified by the specific type of Contains edge. |
Language mappings
AliasType maps to typedef in C and C++.