K.1 Language-Defined Aspects
{
AI05-0229-1}
{
AI05-0299-1}
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.
Aggregate
Mechanism to define user-defined aggregates. See
4.3.5.
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.
Allows_Exit
An indication of whether a subprogram will operate correctly for arbitrary
transfers of control. See
5.5.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, or calling task for a protected operation,
should run. See
D.16.
Default_Component_Value
Default value for the components of an array-of-scalar subtype. See
3.6.
Default_Initial_Condition
A condition that will hold true after the default initialization of an
object. See
7.3.3.
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
Generic formal parameters used in the implementation of an entity. See
H.7.1.
Dispatching_Domain
Domain (group of processors) on which a given task should run. See
D.16.1.
Dynamic_Predicate
Condition that will hold true for objects of a given subtype; the subtype
is not static. See
3.2.4.
Elaborate_Body
A given package will 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.
Full_Access_Only
Declare that a volatile type, object, or component is full access. See
C.6.
Global
Global object usage contract. See
6.1.2.
Global'Class
Global object usage contract inherited on derivation. See
6.1.2.
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.
Integer_Literal
Defines a function to implement user-defined integer literals. See
4.2.1.
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.
Iterator_View
An alternative type to used for container element 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.
Max_Entry_Queue_Length
The maximum entry queue length for a task type, protected type, or entry.
See
D.4.
No_Controlled_Parts
A specification that a type and its descendants do not have controlled
parts. See
H.4.1.
No_Return
A subprogram will not return normally. See
6.5.1.
Nonblocking
Specifies that an associated subprogram does not block. See
9.5.
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.
Parallel_Calls
Specifies whether a given subprogram is expected to be called in parallel.
See
9.10.1.
Parallel_Iterator
An indication of whether a subprogram may use multiple threads of control
to invoke a loop body procedure. See
5.5.3.
Post
Postcondition; a condition that will hold true after a call. See
6.1.1.
Post'Class
Postcondition that applies to corresponding subprograms of descendant
types. See
6.1.1.
Pre
Precondition; a condition that is expected to hold true before a call.
See
6.1.1.
Pre'Class
Precondition that applies to corresponding subprograms of descendant
types. See
6.1.1.
Predicate_Failure
Action to be performed when a predicate check fails. See
3.2.4.
Preelaborable_Initialization
Declares that a type has preelaborable initialization. See
10.2.1.
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.
Put_Image
Procedure to define the image of a given type. See
4.10.
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.
Real_Literal
Defines a function or functions to implement user-defined real literals.
See
4.2.1.
Record layout
Relative_Deadline
Task or protected type 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.
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.
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.
Static
Specifies that an associated expression function can be used in static
expressions. See
6.8.
Static_Predicate
Condition that will 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.
String_Literal
Defines a function to implement user-defined string literals. See
4.2.1.
Synchronization
Defines whether a given primitive operation of a synchronized interface
will be implemented by an entry or protected procedure. See
9.5.
Type_Invariant
A condition that will hold true for all objects of a type. See
7.3.2.
Type_Invariant'Class
A condition that will 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.
Use_Formal
Generic formal parameters used in the implementation of an entity. See
H.7.1.
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.
Yield
Ensures that a callable entity includes a task dispatching point. See
D.2.1.
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe