trick/trick_source/sim_services/MemoryManager/definitions_page.dox
2015-02-26 09:02:31 -06:00

69 lines
2.0 KiB
Plaintext

/**
@page defsMemoryManager Definitions
The following definitions describe terms used throughout the documentation of the Memory Manager.
@anchor definition_of_declaration
@section Declaration
A declaration is a statement that a region of memory has a particular type,
organization and an optional name.
A declaration is a statement, consisting of a @ref definition_of_type_specifier "type_specifier"
followed by a @ref definition_of_declarator "declarator", that specifies that a region of memory
has a type, organization and an optional name.
Example: int *foo[2][3]
The type-specifier is: int
The declarator is : *foo[2][3]
@anchor definition_of_declarator
@section Declarator
A declarator consists of zero or more pointers (asterisks) followed by a variable name,
followed by zero of more bracketed integers.
@anchor definition_of_intrinsic_type
@section Intrinsic-type
An intrinsic type is a fundemental data type that the Trick Memory Manager
inherently "knows" about, by design. They are a subset of the intrinsic C/C++
data types:
- char
- short
- int
- long
- float
- double
- long long
- wchar_t
- unsigned char
- unsigned short
- unsigned int
- unsigned long
- unsigned long long
@anchor definition_of_singleton
@section Singleton
A singleton is a set of exactly one item.
For example:
The following is a @ref definition_of_declaration "declaration" of exactly one
double named S. S is not arrayed. S is a singleton.
double S;
It is convenient to consider a singleton as a zero dimensional array.
@anchor definition_of_intrinsic_type_specifier
@section Intrinsic-type-specifier
A type-specifier is a name that specifies an \ref definition_of_intrinsic_type "intrinsic type"
or a \ref definition_of_user_defined_type_specifier "user defined type".
@anchor definition_of_user_defined_type_specifier
@section User-defined-type-specifier
A user defined type specifier is the name of a typedef'ed struct or a class, including if necessary,
scope resolution operators ( i.e., "::").
*/