Language-Defined Aspects
Author: JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor

Ada Reference Manual — Legal Information

# K.1 Language-Defined Aspects

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.
3/3
Alignment (object)
Alignment of an object. See 13.3.
4/3
Alignment (subtype)
Alignment of a subtype. See 13.3.
5/3
All_Calls_Remote
All remote procedure calls should use the Partition Communication Subsystem, even if they are local. See E.2.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/3
CPU
Processor on which a given task should run. See D.16.
16/3
Default_Component_Value
Default value for the components of an array-of-scalar subtype. See 3.6.
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.
20/3
Dispatching_Domain
Domain (group of processors) on which a given task should run. See D.16.1.
21/3
Dynamic_Predicate
Condition that must hold true for objects of a given subtype; the subtype is not static. See 3.2.4.
22/3
Elaborate_Body
A given package must have a body, and that body is elaborated immediately after the declaration. See 10.2.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.
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.
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.
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.
38/3
No_Return
A procedure will not return normally. See 6.5.1.
39/3
Output
Procedure to write a value to a stream for 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.
41/3
Post
Postcondition; a condition that must hold true after a call. See 6.1.1.
42/3
Post'Class
Postcondition inherited on type derivation. See 6.1.1.
43/3
Pre
Precondition; a condition that must hold true before a call. See 6.1.1.
44/3
Pre'Class
Precondition inherited on type derivation. See 6.1.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.
48/3
Read
Procedure to read a value from a stream for a given type. See 13.13.2.
49/3
Record layout
See Layout. See 13.5.1.
50/3
Relative_Deadline
Task 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.
57/3
Static_Predicate
Condition that must 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.
62/3
Synchronization
Defines whether a given primitive operation of a synchronized interface must be implemented by an entry or protected procedure. See 9.5.
63/3
Type_Invariant
A condition that must hold true for all objects of a type. See 7.3.2.
64/3
Type_Invariant'Class
A condition that must 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.
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.

Ada 2005 and 2012 Editions sponsored in part by Ada-Europe