Contents Index Search Related Documents Previous Next
13.9.2 The Valid Attribute
1
The Valid attribute can be used to check the validity
of data produced by unchecked conversion, input, interface to foreign
languages, and the like.
Static Semantics
2
For a prefix
X that denotes a scalar object (after any implicit dereference), the
following attribute is defined:
3
- X'Valid
-
Yields True if and only if the
object denoted by X is normal and has a valid representation. The value
of this attribute is of the predefined type Boolean.
4
20 Invalid
data can be created in the following cases (not counting erroneous or
unpredictable execution):
5
- an uninitialized
scalar object,
6
- the result of
an unchecked conversion,
7
8
- interface to
another language (including machine code),
9
10
- disrupting an
assignment due to the failure of a language-defined check (see 11.6),
and
11
- use of an object
whose Address has been specified.
12
21 X'Valid is not considered
to be a read of X; hence, it is not an error to check the validity of
invalid data.
13/2
22 The Valid attribute
may be used to check the result of calling an instance of Unchecked_Conversion
(or any other operation that can return invalid values). However, an
exception handler should also be provided because implementations are
permitted to raise Constraint_Error or Program_Error if they detect the
use of an invalid representation (see 13.9.1).
Contents Index Search Related Documents Previous Next Legal