To: J3 08-254r2
From: Toon Moene
Subject: The new TYPE_IS_EXTENSIBLE intrinsic.
Date: 2008 August 14
References: 08-254
Rationale:
A library designer, who does not know what types the user will
impose upon his interface, might want improved control
over user input, which may come from a source external
to the program, when using unlimited polymorphic objects together
with SAME_TYPE_AS() or EXTENDS_TYPE_OF().
Therefore, it is suggested to add an intrinsic TYPE_IS_EXTENSIBLE()
to the language which allows to do just that.
Edits:
[322 after the TRIM entry]
"TYPE_IS_EXTENSIBLE (A) I True if and only if dynamic
type of A is extensible."
[393 after 13.7.169]
"13.7.169+ <>
<> True if and only if the dynamic type of A is extensible.
<> Inquiry function
<> A may be of any type. It may be a scalar or array.
If it is a pointer, it shall not have an undefined
association status. If it is an unlimited polymorphic
pointer, it shall be associated if it is a pointer and
allocated if it is allocatable.
<> Default logical scalar.
<> The result is true if and only if the dynamic type
of A is extensible.