C++ Mappings
The table below shows the one-to-one correspondence between C++ code elements and UModel model elements, when importing from C++ code into model, or generating code from the model.
Support for C++ attributes is limited. Only standard built-in attributes such as [[noreturn]], [[carries_dependency]], [[deprecated]] will be recognized. Custom (user-defined) attributes will be ignored. |
C++ Project
C++ | UModel | ||
---|---|---|---|
Project | projectfile | projectfile | Component |
directory | directory |
C++ Namespace
C++ | UModel | ||
---|---|---|---|
Namespace | name | name | Package <<namespace>> |
C++ Class / Struct / Union
C++ | UModel | ||||||||
---|---|---|---|---|---|---|---|---|---|
Class / Struct / Union | name | name | Class / <<struct>> Class / <<union>> Class | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
filename | code file name | ||||||||
associated projectfile / directory | ComponentRealization | ||||||||
base specifier | base types | Generalization | |||||||
virtual | Generalization <<virtual>> | ||||||||
access | Generalization <<visibility>> value | ||||||||
attributes | <<attributes>> | ||||||||
final | isFinalSpecialization | ||||||||
Template Parameter | name | name | Template Parameter | ||||||
template parameter pack | parameterPack | ||||||||
type | property @type | ||||||||
default | default | ||||||||
Template Specialization | arguments | arguments | <<specialization>> | ||||||
Field | name | name | Property | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
type | type | ||||||||
type modifiers | type modifier | ||||||||
static | static | ||||||||
mutable | <<mutable>> | ||||||||
thread_local | <<thread_local>> | ||||||||
const | <<const>> | ||||||||
constexpr | <<constexpr>> | ||||||||
in class initializer | default | ||||||||
attributes | <<attributes>> | ||||||||
volatile | <<volatile>> | ||||||||
variable template | <<varTemplate>> | ||||||||
Method | name | name | Operation | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
static | static | ||||||||
virtual | <<virtual>> | ||||||||
= 0 | <<purevirtual>> | ||||||||
const | <<const>> | ||||||||
inline | <<inline>> | ||||||||
= delete | <<delete>> | ||||||||
= default | <<default>> | ||||||||
override | <<overrride>> | ||||||||
final | <<final>> | ||||||||
volatile | <<volatile>> | ||||||||
constexpr | <<constexpr>> | ||||||||
noexcept | <<noexcept>> | ||||||||
throw | exceptions | <<throw>> | specification | ||||||
attributes | <<attributes>> | ||||||||
Template parameter | name | name | Template Parameter | ||||||
template parameter pack | parameterPack | ||||||||
type | property @type | ||||||||
default | default | ||||||||
Template specialization | arguments | arguments | <<specialization>> | ||||||
Parameter | name | name | Parameter | ||||||
type | type | ||||||||
type modifiers | type modifier | ||||||||
const | <<const>> | ||||||||
volatile | <volatile>> | ||||||||
attributes | <<attributes>> | ||||||||
varArgList | varArgList | ||||||||
default value | default | ||||||||
Constructor | name | name | Operation <<constructor>> | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
explicit | <<explicit>> | ||||||||
= delete | <<delete>> | ||||||||
inline | <<inline>> | ||||||||
= default | <<default>> | ||||||||
noexcept | <<noexcept>> | ||||||||
throw | exceptions | <<throw>> | specification | ||||||
attributes | <<attributes>> | ||||||||
Template parameter | name | name | Template Parameter | ||||||
template parameter pack | parameterPack | ||||||||
type | property @type | ||||||||
default | default | ||||||||
Template specialization | arguments | arguments | <<specialization>> | ||||||
Parameter | name | name | Parameter | ||||||
type | type | ||||||||
type modifiers | type modifier | ||||||||
const | <<const>> | ||||||||
volatile | <volatile>> | ||||||||
attributes | <<attributes>> | ||||||||
varArgList | varArgList | ||||||||
default value | default | ||||||||
Destructor | name | name | Operation <<destructor>> | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
inline | <<inline>> | ||||||||
noexcept | <<noexcept>> | ||||||||
throw | exceptions | <<throw>> | specification | ||||||
attributes | <<attributes>> | ||||||||
Operator | name | 'operator' name | Operation | ||||||
access specifier | public | visibility | public | ||||||
protected | protected | ||||||||
private | private | ||||||||
static | static | ||||||||
virtual | <<virtual>> | ||||||||
= 0 | <<purevirtual>> | ||||||||
const | <<const>> | ||||||||
inline | <<inline>> | ||||||||
= delete | <<delete>> | ||||||||
= default | <<default>> | ||||||||
override | <<overrride>> | ||||||||
final | <<final>> | ||||||||
volatile | <<volatile>> | ||||||||
constexpr | <<constexpr>> | ||||||||
noexcept | <<noexcept>> | ||||||||
throw | exceptions | <<throw>> | specification | ||||||
attributes | <<attributes>> | ||||||||
Template parameter | name | name | Template Parameter | ||||||
template parameter pack | parameterPack | ||||||||
type | property @type | ||||||||
default | default | ||||||||
Template specialization | arguments | arguments | <<specialization>> | ||||||
Parameter | name | name | Parameter | ||||||
type | type | ||||||||
type modifiers | type modifier | ||||||||
const | <<const>> | ||||||||
volatile | <volatile>> | ||||||||
attributes | <<attributes>> | ||||||||
varArgList | varArgList | ||||||||
default value | default |
C++ Typedef
C++ | UModel | ||
---|---|---|---|
Typedef | name | name | Class <<typedef>> |
filename | code file name | ||
associated projectfile / directory | ComponentRealization | ||
type | @type property | ||
attributes | <<attributes>> |
C++ Type alias
C++ | UModel | ||||
---|---|---|---|---|---|
Type alias | name | name | Class <<typealias>> | ||
filename | code file name | ||||
associated projectfile/directory | ComponentRealization | ||||
type | @type property | ||||
attributes | <<attributes>> | ||||
Template Parameter | name | name | Template Parameter | ||
template parameter pack | parameterPack | ||||
type | property @type | ||||
default | default |
C++ Enum
C++ | UModel | ||||
Enum | name | name | Enumeration | ||
filename | code file name | ||||
associated projectfile/directory | ComponentRealization | ||||
base type | <<basetype>> value | ||||
attributes | <<attributes>> | ||||
Enumerator | name | name | Enumeration Literal | ||
default value | default | ||||
attribute sections | <<attributes>> |