read_array Interface

public interface read_array

Read one record back, validating its type tag and its length.

Usage: call read_array(unit, values, swapped, err)

values is allocatable and is allocated to the length stored in the record. swapped is the flag returned by read_header; when it is true every multi-byte element is byte reversed after reading.

Fails with ERROR_VALIDATION if the record holds a different type than the one requested, and with ERROR_IO if the payload announced by the record header runs past the end of the file.

Calls

interface~~read_array~~CallsGraph interface~read_array read_array proc~read_char_record read_char_record interface~read_array->proc~read_char_record proc~read_int32_array read_int32_array interface~read_array->proc~read_int32_array proc~read_int64_array read_int64_array interface~read_array->proc~read_int64_array proc~read_real_dp_array read_real_dp_array interface~read_array->proc~read_real_dp_array proc~read_real_sp_array read_real_sp_array interface~read_array->proc~read_real_sp_array proc~check_io check_io proc~read_char_record->proc~check_io proc~error_get_code error_t%error_get_code proc~read_char_record->proc~error_get_code proc~error_wrap error_t%error_wrap proc~read_char_record->proc~error_wrap proc~read_record_header read_record_header proc~read_char_record->proc~read_record_header proc~bswap_int32 bswap_int32 proc~read_int32_array->proc~bswap_int32 proc~read_int32_array->proc~check_io proc~read_int32_array->proc~error_get_code proc~read_int32_array->proc~error_wrap proc~read_int32_array->proc~read_record_header proc~bswap_int64 bswap_int64 proc~read_int64_array->proc~bswap_int64 proc~read_int64_array->proc~check_io proc~read_int64_array->proc~error_get_code proc~read_int64_array->proc~error_wrap proc~read_int64_array->proc~read_record_header proc~bits_to_real_dp bits_to_real_dp proc~read_real_dp_array->proc~bits_to_real_dp proc~read_real_dp_array->proc~bswap_int64 proc~read_real_dp_array->proc~check_io proc~read_real_dp_array->proc~error_get_code proc~read_real_dp_array->proc~error_wrap proc~read_real_dp_array->proc~read_record_header proc~bits_to_real_sp bits_to_real_sp proc~read_real_sp_array->proc~bits_to_real_sp proc~read_real_sp_array->proc~bswap_int32 proc~read_real_sp_array->proc~check_io proc~read_real_sp_array->proc~error_get_code proc~read_real_sp_array->proc~error_wrap proc~read_real_sp_array->proc~read_record_header interface~to_char to_char proc~check_io->interface~to_char proc~error_set error_t%error_set proc~check_io->proc~error_set proc~clip_tail clip_tail proc~error_wrap->proc~clip_tail proc~error_has_error error_t%error_has_error proc~error_wrap->proc~error_has_error proc~read_record_header->proc~bswap_int32 proc~read_record_header->proc~bswap_int64 proc~read_record_header->proc~check_io proc~read_record_header->interface~to_char proc~element_bytes element_bytes proc~read_record_header->proc~element_bytes proc~read_record_header->proc~error_set proc~to_char_char to_char_char interface~to_char->proc~to_char_char proc~to_char_dp to_char_dp interface~to_char->proc~to_char_dp proc~to_char_int32 to_char_int32 interface~to_char->proc~to_char_int32 proc~to_char_int64 to_char_int64 interface~to_char->proc~to_char_int64 proc~to_char_logical to_char_logical interface~to_char->proc~to_char_logical proc~to_char_matrix_dp to_char_matrix_dp interface~to_char->proc~to_char_matrix_dp proc~to_char_matrix_int32 to_char_matrix_int32 interface~to_char->proc~to_char_matrix_int32 proc~to_char_matrix_int64 to_char_matrix_int64 interface~to_char->proc~to_char_matrix_int64 proc~to_char_matrix_sp to_char_matrix_sp interface~to_char->proc~to_char_matrix_sp proc~to_char_sp to_char_sp interface~to_char->proc~to_char_sp proc~to_char_vector_dp to_char_vector_dp interface~to_char->proc~to_char_vector_dp proc~to_char_vector_int32 to_char_vector_int32 interface~to_char->proc~to_char_vector_int32 proc~to_char_vector_int64 to_char_vector_int64 interface~to_char->proc~to_char_vector_int64 proc~to_char_vector_sp to_char_vector_sp interface~to_char->proc~to_char_vector_sp

Called by

interface~~read_array~~CalledByGraph interface~read_array read_array proc~soa_read_int32_field soa_read_int32_field proc~soa_read_int32_field->interface~read_array proc~soa_read_int64_field soa_read_int64_field proc~soa_read_int64_field->interface~read_array proc~soa_read_logical_field soa_read_logical_field proc~soa_read_logical_field->interface~read_array proc~soa_read_prologue soa_read_prologue proc~soa_read_prologue->interface~read_array proc~soa_read_real_dp_field soa_read_real_dp_field proc~soa_read_real_dp_field->interface~read_array proc~soa_read_real_sp_field soa_read_real_sp_field proc~soa_read_real_sp_field->interface~read_array interface~soa_read_field soa_read_field interface~soa_read_field->proc~soa_read_int32_field interface~soa_read_field->proc~soa_read_int64_field interface~soa_read_field->proc~soa_read_logical_field interface~soa_read_field->proc~soa_read_real_dp_field interface~soa_read_field->proc~soa_read_real_sp_field proc~particle_soa_deserialize particle_soa_t%particle_soa_deserialize proc~particle_soa_deserialize->proc~soa_read_prologue proc~particle_soa_deserialize->interface~soa_read_field

Module Procedures

private subroutine read_int32_array(unit, values, swapped, err)

Read an integer(int32) array record.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
integer(kind=int32), intent(out), allocatable :: values(:)
logical, intent(in) :: swapped
type(error_t), intent(inout) :: err

private subroutine read_int64_array(unit, values, swapped, err)

Read an integer(int64) array record.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
integer(kind=int64), intent(out), allocatable :: values(:)
logical, intent(in) :: swapped
type(error_t), intent(inout) :: err

private subroutine read_real_sp_array(unit, values, swapped, err)

Read a real(sp) array record.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
real(kind=sp), intent(out), allocatable :: values(:)
logical, intent(in) :: swapped
type(error_t), intent(inout) :: err

private subroutine read_real_dp_array(unit, values, swapped, err)

Read a real(dp) array record. See read_real_sp_array for the way the foreign endian path is kept away from the native one.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
real(kind=dp), intent(out), allocatable :: values(:)
logical, intent(in) :: swapped
type(error_t), intent(inout) :: err

private subroutine read_char_record(unit, text, swapped, err)

Read a character scalar record into a deferred length string.

Read more…

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: unit
character(len=:), intent(out), allocatable :: text
logical, intent(in) :: swapped
type(error_t), intent(inout) :: err