Return primitive_compressible pointer associated to primitive_object or its extensions until primitive_compressible included.
A type-guard check is performed and error stop is raised if necessary.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(primitive_object), | intent(in), | target | :: | to | Target of associate. |
|
| character(len=*), | intent(in), | optional | :: | error_message | Auxiliary error message. |
Associated pointer.
function primitive_compressible_pointer(to, error_message) result(pointer_)
!< Return [[primitive_compressible]] pointer associated to [[primitive_object]] or its extensions until
!< [[primitive_compressible]] included.
!<
!< @note A type-guard check is performed and error stop is raised if necessary.
class(primitive_object), intent(in), target :: to !< Target of associate.
character(*), intent(in), optional :: error_message !< Auxiliary error message.
class(primitive_compressible), pointer :: pointer_ !< Associated pointer.
select type(to)
type is(primitive_compressible)
pointer_ => to
class default
write(stderr, '(A)') 'error: cast primitive_object to primitive_compressible failed!'
if (present(error_message)) write(stderr, '(A)') error_message
stop
endselect
endfunction primitive_compressible_pointer