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 procedure
calls
, should use the Partition Communication
Subsystem
, even if they are local. 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 must
hold true for objects of a given subtype; the subtype is not static.
See 3.2.4.
Elaborate_Body
A given package
will 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.
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 procedure
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 must
hold true after a call.
See 6.1.1.
Post'Class
Postcondition
that applies to corresponding subprograms
of descendant types inherited on type derivation.
See 6.1.1.
Pre
Precondition; a condition that
is expected to must
hold true before a call.
See 6.1.1.
Pre'Class
Precondition
that applies to corresponding subprograms
of descendant types inherited on type derivation.
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 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.
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 must 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