K.1 Language-Defined Aspects
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.
 
Address
Machine address of an entity. See 
13.3.
 
Alignment (object)
Alignment of an object. See 
13.3.
 
Alignment (subtype)
Alignment of a subtype. See 
13.3.
 
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.
 
Asynchronous
Remote procedure calls are asynchronous; the caller continues without 
waiting for the call to return. See 
E.4.1.
 
Atomic
Declare that a type, object, or component is atomic. See 
C.6.
 
Atomic_Components
Declare that the components of an array type or object are atomic. See 
C.6.
 
Attach_Handler
Protected procedure is attached to an interrupt. See 
C.3.1.
 
 Bit_Order
Order of bit numbering in a 
record_representation_clause. 
See 
13.5.3.
 
 Coding
Internal representation of enumeration literals. Specified by an 
enumeration_representation_clause, 
not by an 
aspect_specification. 
See 
13.4.
 
 Component_Size
Size in bits of a component of an array type. See 
13.3.
 
 Constant_Indexing
Defines function(s) to implement user-defined 
indexed_components. 
See 
4.1.6.
 
 Convention
Calling convention or other convention used for interfacing to other 
languages. See 
B.1.
 
 CPU
Processor on which a given task should run. See 
D.16.
 
 Default_Component_Value
Default value for the components of an array-of-scalar subtype. See 
3.6.
 
 Default_Iterator
Default iterator to be used in 
for loops. See 
5.5.1.
 
 Default_Storage_Pool
Default storage pool for a generic instance. See 
13.11.3.
 
 Default_Value
Default value for a scalar subtype. See 
3.5.
 
   Discard_Names
Requests a reduction in storage for names associated with an entity. 
See 
C.5.
 
 Dispatching_Domain
Domain (group of processors) on which a given task should run. See 
D.16.1.
 
 Dynamic_Predicate
Condition that must hold true for objects of a given subtype; the subtype 
is not static. See 
3.2.4.
 
 Elaborate_Body
A given package must have a body, and that body is elaborated immediately 
after the declaration. See 
10.2.1.
 
   Exclusive_Functions
Specifies mutual exclusion behavior of protected functions in a protected 
type. See 
9.5.1.
 
 Export
Entity is exported to another language. See 
B.1.
 
 External_Name
Name used to identify an imported or exported entity. See 
B.1.
 
 External_Tag
Unique identifier for a tagged type in streams. See 
13.3.
 
 Implicit_Dereference
Mechanism for user-defined implicit .
all. See 
4.1.5.
 
 Import
Entity is imported from another language. See 
B.1.
 
 Independent
Declare that a type, object, or component is independently addressable. 
See 
C.6.
 
 Independent_Components
Declare that the components of an array or record type, or an array object, 
are independently addressable. See 
C.6.
 
 Inline
For efficiency, Inline calls are requested for a subprogram. See 
6.3.2.
 
 Input
Function to read a value from a stream for a given type, including any 
bounds and discriminants. See 
13.13.2.
 
   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.
 
 Interrupt_Handler
Protected procedure may be attached to interrupts. See 
C.3.1.
 
 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.
 
 Iterator_Element
Element type to be used for user-defined iterators. See 
5.5.1.
 
 Layout (record)
Layout of record components. Specified by a 
record_representation_clause, 
not by an 
aspect_specification. 
See 
13.5.1.
 
 Link_Name
Linker symbol used to identify an imported or exported entity. See 
B.1.
 
 Machine_Radix
Radix (2 or 10) that is used to represent a decimal fixed point type. 
See 
F.1.
 
 No_Return
A procedure will not return normally. See 
6.5.1.
 
 Output
Procedure to write a value to a stream for a given type, including any 
bounds and discriminants. See 
13.13.2.
 
   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.
 
 Pack
Minimize storage when laying out records and arrays. See 
13.2.
 
 Post
Postcondition; a condition that must hold true after a call. See 
6.1.1.
 
 Post'Class
Postcondition inherited on type derivation. See 
6.1.1.
 
 Pre
Precondition; a condition that must hold true before a call. See 
6.1.1.
 
 Pre'Class
Precondition inherited on type derivation. See 
6.1.1.
 
   Predicate_Failure
Action to be performed when a predicate check fails. See 
3.2.4.
 
 Preelaborate
Code execution during elaboration is avoided for a given package. See 
10.2.1.
 
 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.
 
 Pure
Side effects are avoided in the subprograms of a given package. See 
10.2.1.
 
 Read
Procedure to read a value from a stream for a given type. See 
13.13.2.
 
   Read'Class
Procedure to read a value from a stream for the class-wide type associated 
with a given type. See 
13.13.2.
 
 Record layout
 Relative_Deadline
Task parameter used in Earliest Deadline First Dispatching. See 
D.2.6.
 
 Remote_Call_Interface
Subprograms in a given package may be used in remote procedure calls. 
See 
E.2.3.
 
 Remote_Types
Types in a given package may be used in remote procedure calls. See 
E.2.2.
 
 Shared_Passive
A given package is used to represent shared memory in a distributed system. 
See 
E.2.1.
 
 Size (object)
Size in bits of an object. See 
13.3.
 
 Size (subtype)
Size in bits of a subtype. See 
13.3.
 
 Small
Scale factor for a fixed point type. See 
3.5.10.
 
 Static_Predicate
Condition that must hold true for objects of a given subtype; the subtype 
may be static. See 
3.2.4.
 
 Storage_Pool
Pool of memory from which 
new will allocate for a given access 
type. See 
13.11.
 
 Storage_Size (access)
Sets memory size for allocations for an access type. See 
13.11.
 
 Storage_Size (task)
Size in storage elements reserved for a task type or single task object. 
See 
13.3.
 
 Stream_Size
Size in bits used to represent elementary objects in a stream. See 
13.13.2.
 
 Synchronization
Defines whether a given primitive operation of a synchronized interface 
must be implemented by an entry or protected procedure. See 
9.5.
 
 Type_Invariant
A condition that must hold true for all objects of a type. See 
7.3.2.
 
 Type_Invariant'Class
A condition that must hold true for all objects in a class of types. 
See 
7.3.2.
 
 Unchecked_Union
Type is used to interface to a C union type. See 
B.3.3.
 
 Variable_Indexing
Defines function(s) to implement user-defined 
indexed_components. 
See 
4.1.6.
 
 Volatile
Declare that a type, object, or component is volatile. See 
C.6.
 
 Volatile_Components
Declare that the components of an array type or object are volatile. 
See 
C.6.
 
 Write
Procedure to write a value to a stream for a given type. See 
13.13.2.
 
   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.
 
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe