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