Also in this section:

The ANSI C++ profile is the base for all other C++ profiles. Other specialized C++ profiles must inherit from this profile by creating a generalization in modeling tool.

Data Types

Fundamental types defined by ANSI are mapped to a UML data type. You can state each fundamental type with a modifier (signed, unsigned, short, long) in a different order, but it is the same type. For example, you can use either short int or int short. Only versions defined as type by ANSI simple-type-specifiers are created as datatypes in the profile. If an UML synonym dataType is found during the reverse process, a class is created with this name.

Each fundamental type has 3 corresponding cv-qualified versions: const, volatile, and Const Volatile qualified type.

UML data types defined in the UML profile contain char, int, double, float, or void. We use these datatypes for mapping C++ type.

These datatypes are specific. In UML 2, only Integer, Boolean, String, and UnlimitedNatural are defined; they are not defined as datatypes, but as primitives. Our modeling tool does not define UnlimitedNatural in any profile and Integer and boolean (b is lowercase) are datatypes.

PROFILE: UML Standard Profile. MagicDraw Profile.datatypes
Data TypeSynonymNotes

char

Char does not have a synonymChar types are represented as signed char and unsigned char according to the compiler implementation.

int

Signed, signed int, int signed


double

Double does not have a synonym

float

Float does not have a synonym

void

Void does not have a synonym
PROFILE: C++ ANSI Profile.datatypes
Data TypeSynonymNotes

signed char

Signed char does not have a synonymChar types are represented as signed char and unsigned char according to the compiler implementation.

unsigned char

Unsigned char does not have a synonym

unsigned int

unsigned, int unsigned


unsigned short int

unsigned short, short unsigned, unsigned int short, short unsigned int, short int unsigned, int short unsigned, int unsigned short


unsigned long int

unsigned long, long unsigned, unsigned int long, long unsigned int, long int unsigned, int long unsigned, int unsigned long


long int

long, int long, signed lon, long signed, signed long int, signed int long, long signed int, long int signed, int signed long,int long signed


short int

short, int short, signed short, short signed, signed short int, signed int short, short signed int, short int signed, int signed short, int short signed


long double

Long double does not have a synonym

bool

Bool does not have a synonym

wchar_t

wchar_t does not have a synonym

Related pages