Skip to main content

K.1 Language-Defined Aspects

danger

This Reference Manual output has not been verified, and may contain omissions or errors. Report any problems on the tracking issue

1/3

This subclause summarizes the definitions given elsewhere of the language-defined aspects. Aspects are properties of entities that can be specified by the Ada program; unless otherwise specified below, aspects can be specified using an aspect_specification.

2/3

Address
Machine address of an entity. See 13.3.
2.1/5

Aggregate
Mechanism to define user-defined aggregates. See 4.3.5.
3/3

Alignment (object)
Alignment of an object. See 13.3.
4/3

Alignment (subtype)
Alignment of a subtype. See 13.3.
5/4

All_Calls_Remote
All indirect or dispatching remote subprogram calls, and all direct remote subprogram calls, should use the Partition Communication Subsystem. See E.2.3.
5.1/5

Allows_Exit
An indication of whether a subprogram will operate correctly for arbitrary transfers of control. See 5.5.3.
6/3

Asynchronous
Remote procedure calls are asynchronous; the caller continues without waiting for the call to return. See E.4.1.
7/3

Atomic
Declare that a type, object, or component is atomic. See C.6.
8/3

Atomic_Components
Declare that the components of an array type or object are atomic. See C.6.
9/3

Attach_Handler
Protected procedure is attached to an interrupt. See C.3.1.
10/3

Bit_Order
Order of bit numbering in a record_representation_clause. See 13.5.3.
11/3

Coding
Internal representation of enumeration literals. Specified by an enumeration_representation_clause, not by an aspect_specification. See 13.4.
12/3

Component_Size
Size in bits of a component of an array type. See 13.3.
13/3

Constant_Indexing
Defines function(s) to implement user-defined indexed_components. See 4.1.6.
14/3

Convention
Calling convention or other convention used for interfacing to other languages. See B.1.
15/5

CPU
Processor on which a given task, or calling task for a protected operation, should run. See D.16.
16/3

Default_Component_Value
Default value for the components of an array-of-scalar subtype. See 3.6.
16.1/5

Default_Initial_Condition
A condition that will hold true after the default initialization of an object. See 7.3.3.
17/3

Default_Iterator
Default iterator to be used in for loops. See 5.5.1.
18/3

Default_Storage_Pool
Default storage pool for a generic instance. See 13.11.3.
19/3

Default_Value
Default value for a scalar subtype. See 3.5.
19.1/4

Discard_Names
Requests a reduction in storage for names associated with an entity. See C.5.
19.2/5

Dispatching
Generic formal parameters used in the implementation of an entity. See H.7.1.
20/3

Dispatching_Domain
Domain (group of processors) on which a given task should run. See D.16.1.
21/5

Dynamic_Predicate
Condition that will hold true for objects of a given subtype; the subtype is not static. See 3.2.4.
22/5

Elaborate_Body
A given package will have a body, and that body is elaborated immediately after the declaration. See 10.2.1.
22.1/4

Exclusive_Functions
Specifies mutual exclusion behavior of protected functions in a protected type. See 9.5.1.
23/3

Export
Entity is exported to another language. See B.1.
24/3

External_Name
Name used to identify an imported or exported entity. See B.1.
25/3

External_Tag
Unique identifier for a tagged type in streams. See 13.3.
25.1/5

Full_Access_Only
Declare that a volatile type, object, or component is full access. See C.6.
25.2/5

Global
Global object usage contract. See 6.1.2.
25.3/5

Global'Class
Global object usage contract inherited on derivation. See 6.1.2.
26/3

Implicit_Dereference
Mechanism for user-defined implicit .all. See 4.1.5.
27/3

Import
Entity is imported from another language. See B.1.
28/3

Independent
Declare that a type, object, or component is independently addressable. See C.6.
29/3

Independent_Components
Declare that the components of an array or record type, or an array object, are independently addressable. See C.6.
30/3

Inline
For efficiency, Inline calls are requested for a subprogram. See 6.3.2.
31/3

Input
Function to read a value from a stream for a given type, including any bounds and discriminants. See 13.13.2.
31.1/4

Input'Class
Function to read a value from a stream for a the class-wide type associated with a given type, including any bounds and discriminants. See 13.13.2.
31.2/5

Integer_Literal
Defines a function to implement user-defined integer literals. See 4.2.1.
32/3

Interrupt_Handler
Protected procedure may be attached to interrupts. See C.3.1.
33/3

Interrupt_Priority
Priority of a task object or type, or priority of a protected object or type; the priority is in the interrupt range. See D.1.
34/3

Iterator_Element
Element type to be used for user-defined iterators. See 5.5.1.
34.1/5

Iterator_View
An alternative type to used for container element iterators. See 5.5.1.
35/3

Layout (record)
Layout of record components. Specified by a record_representation_clause, not by an aspect_specification. See 13.5.1.
36/3

Link_Name
Linker symbol used to identify an imported or exported entity. See B.1.
37/3

Machine_Radix
Radix (2 or 10) that is used to represent a decimal fixed point type. See F.1.
37.1/5

Max_Entry_Queue_Length
The maximum entry queue length for a task type, protected type, or entry. See D.4.
37.2/5

No_Controlled_Parts
A specification that a type and its descendants do not have controlled parts. See H.4.1.
38/5

No_Return
A subprogram will not return normally. See 6.5.1.
38.1/5

Nonblocking
Specifies that an associated subprogram does not block. See 9.5.
39/3

Output
Procedure to write a value to a stream for a given type, including any bounds and discriminants. See 13.13.2.
39.1/4

Output'Class
Procedure to write a value to a stream for a the class-wide type associated with a given type, including any bounds and discriminants. See 13.13.2.
40/3

Pack
Minimize storage when laying out records and arrays. See 13.2.
40.1/5

Parallel_Calls
Specifies whether a given subprogram is expected to be called in parallel. See 9.10.1.
40.2/5

Parallel_Iterator
An indication of whether a subprogram may use multiple threads of control to invoke a loop body procedure. See 5.5.3.
41/5

Post
Postcondition; a condition that will hold true after a call. See 6.1.1.
42/5

Post'Class
Postcondition that applies to corresponding subprograms of descendant types. See 6.1.1.
43/5

Pre
Precondition; a condition that is expected to hold true before a call. See 6.1.1.
44/5

Pre'Class
Precondition that applies to corresponding subprograms of descendant types. See 6.1.1.
44.1/4

Predicate_Failure
Action to be performed when a predicate check fails. See 3.2.4.
44.2/5

Preelaborable_Initialization
Declares that a type has preelaborable initialization. See 10.2.1.
45/3

Preelaborate
Code execution during elaboration is avoided for a given package. See 10.2.1.
46/3

Priority
Priority of a task object or type, or priority of a protected object or type; the priority is not in the interrupt range. See D.1.
47/3

Pure
Side effects are avoided in the subprograms of a given package. See 10.2.1.
47.1/5

Put_Image
Procedure to define the image of a given type. See 4.10.
48/3

Read
Procedure to read a value from a stream for a given type. See 13.13.2.
48.1/4

Read'Class
Procedure to read a value from a stream for the class-wide type associated with a given type. See 13.13.2.
48.2/5

Real_Literal
Defines a function or functions to implement user-defined real literals. See 4.2.1.
49/3

Record layout
See Layout. See 13.5.1.
50/5

Relative_Deadline
Task or protected type parameter used in Earliest Deadline First Dispatching. See D.2.6.
51/3

Remote_Call_Interface
Subprograms in a given package may be used in remote procedure calls. See E.2.3.
52/3

Remote_Types
Types in a given package may be used in remote procedure calls. See E.2.2.
53/3

Shared_Passive
A given package is used to represent shared memory in a distributed system. See E.2.1.
54/3

Size (object)
Size in bits of an object. See 13.3.
55/3

Size (subtype)
Size in bits of a subtype. See 13.3.
56/3

Small
Scale factor for a fixed point type. See 3.5.10.
56.1/5

Stable_Properties
A list of functions describing characteristics that usually are unchanged by primitive operations of the type or an individual primitive subprogram. See 7.3.4.
56.2/5

Stable_Properties'Class
A list of functions describing characteristics that usually are unchanged by primitive operations of a class of types or a primitive subprogram for such a class. See 7.3.4.
56.3/5

Static
Specifies that an associated expression function can be used in static expressions. See 6.8.
57/5

Static_Predicate
Condition that will hold true for objects of a given subtype; the subtype may be static. See 3.2.4.
58/3

Storage_Pool
Pool of memory from which new will allocate for a given access type. See 13.11.
59/3

Storage_Size (access)
Sets memory size for allocations for an access type. See 13.11.
60/3

Storage_Size (task)
Size in storage elements reserved for a task type or single task object. See 13.3.
61/3

Stream_Size
Size in bits used to represent elementary objects in a stream. See 13.13.2.
61.1/5

String_Literal
Defines a function to implement user-defined string literals. See 4.2.1.
62/5

Synchronization
Defines whether a given primitive operation of a synchronized interface will be implemented by an entry or protected procedure. See 9.5.
63/3

Type_Invariant
A condition that will hold true for all objects of a type. See 7.3.2.
64/3

Type_Invariant'Class
A condition that will hold true for all objects in a class of types. See 7.3.2.
65/3

Unchecked_Union
Type is used to interface to a C union type. See B.3.3.
65.1/5

Use_Formal
Generic formal parameters used in the implementation of an entity. See H.7.1.
66/3

Variable_Indexing
Defines function(s) to implement user-defined indexed_components. See 4.1.6.
67/3

Volatile
Declare that a type, object, or component is volatile. See C.6.
68/3

Volatile_Components
Declare that the components of an array type or object are volatile. See C.6.
69/3

Write
Procedure to write a value to a stream for a given type. See 13.13.2.
69.1/4

Write'Class
Procedure to write a value to a stream for a the class-wide type associated with a given type. See 13.13.2.
69.2/5

Yield
Ensures that a callable entity includes a task dispatching point. See D.2.1.