public interface soa_write_field
Write the first n elements of one field as a stream record.
Usage: call soa_write_field(unit, this%x, n, err)
The field array is taken whole, as an allocatable, together with the
live count: a container that has never been allocated has unallocated
field arrays, and forming the slice this%x(1:0) on one of those
would be a reference to an unallocated variable. Handling that here
keeps every generated container safe by construction. An unallocated
field is legal and writes an empty record, provided n is zero.
The prologue must already have been written. A logical field is
encoded as an int32 record of 0/1 codes; every other type maps
straight onto the matching pic_serialize record.
Fails with ERROR_VALIDATION when n is negative or larger than the
field actually holds.
interface~~soa_write_field~~CallsGraph
interface~soa_write_field
soa_write_field
proc~soa_write_int32_field
soa_write_int32_field
interface~soa_write_field->proc~soa_write_int32_field
proc~soa_write_int64_field
soa_write_int64_field
interface~soa_write_field->proc~soa_write_int64_field
proc~soa_write_logical_field
soa_write_logical_field
interface~soa_write_field->proc~soa_write_logical_field
proc~soa_write_real_dp_field
soa_write_real_dp_field
interface~soa_write_field->proc~soa_write_real_dp_field
proc~soa_write_real_sp_field
soa_write_real_sp_field
interface~soa_write_field->proc~soa_write_real_sp_field
interface~write_array
write_array
proc~soa_write_int32_field->interface~write_array
proc~error_has_error
error_t%error_has_error
proc~soa_write_int32_field->proc~error_has_error
proc~soa_check_live_count
soa_check_live_count
proc~soa_write_int32_field->proc~soa_check_live_count
proc~soa_write_int64_field->interface~write_array
proc~soa_write_int64_field->proc~error_has_error
proc~soa_write_int64_field->proc~soa_check_live_count
proc~soa_write_logical_field->interface~write_array
proc~soa_write_logical_field->proc~error_has_error
proc~soa_check_alloc
soa_check_alloc
proc~soa_write_logical_field->proc~soa_check_alloc
proc~soa_write_logical_field->proc~soa_check_live_count
proc~soa_write_real_dp_field->interface~write_array
proc~soa_write_real_dp_field->proc~error_has_error
proc~soa_write_real_dp_field->proc~soa_check_live_count
proc~soa_write_real_sp_field->interface~write_array
proc~soa_write_real_sp_field->proc~error_has_error
proc~soa_write_real_sp_field->proc~soa_check_live_count
proc~write_char_record
write_char_record
interface~write_array->proc~write_char_record
proc~write_int32_array
write_int32_array
interface~write_array->proc~write_int32_array
proc~write_int64_array
write_int64_array
interface~write_array->proc~write_int64_array
proc~write_real_dp_array
write_real_dp_array
interface~write_array->proc~write_real_dp_array
proc~write_real_sp_array
write_real_sp_array
interface~write_array->proc~write_real_sp_array
interface~to_char
to_char
proc~soa_check_alloc->interface~to_char
proc~error_set
error_t%error_set
proc~soa_check_alloc->proc~error_set
proc~soa_check_live_count->interface~to_char
proc~soa_check_live_count->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
proc~check_io
check_io
proc~write_char_record->proc~check_io
proc~error_get_code
error_t%error_get_code
proc~write_char_record->proc~error_get_code
proc~error_wrap
error_t%error_wrap
proc~write_char_record->proc~error_wrap
proc~write_record_header
write_record_header
proc~write_char_record->proc~write_record_header
proc~write_int32_array->proc~check_io
proc~write_int32_array->proc~error_get_code
proc~write_int32_array->proc~error_wrap
proc~write_int32_array->proc~write_record_header
proc~write_int64_array->proc~check_io
proc~write_int64_array->proc~error_get_code
proc~write_int64_array->proc~error_wrap
proc~write_int64_array->proc~write_record_header
proc~write_real_dp_array->proc~check_io
proc~write_real_dp_array->proc~error_get_code
proc~write_real_dp_array->proc~error_wrap
proc~write_real_dp_array->proc~write_record_header
proc~write_real_sp_array->proc~check_io
proc~write_real_sp_array->proc~error_get_code
proc~write_real_sp_array->proc~error_wrap
proc~write_real_sp_array->proc~write_record_header
proc~check_io->interface~to_char
proc~check_io->proc~error_set
proc~error_wrap->proc~error_has_error
proc~clip_tail
clip_tail
proc~error_wrap->proc~clip_tail
proc~write_record_header->proc~check_io
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
interface~~soa_write_field~~CalledByGraph
interface~soa_write_field
soa_write_field
proc~particle_soa_serialize
particle_soa_t%particle_soa_serialize
proc~particle_soa_serialize->interface~soa_write_field
Nodes of different colours represent the following:
Graph Key
Subroutine
Subroutine
Function
Function
Interface
Interface
Type Bound Procedure
Type Bound Procedure
Unknown Procedure Type
Unknown Procedure Type
Program
Program
This Page's Entity
This Page's Entity
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Module Procedures
Write the first n elements of an integer(int32) field.
Arguments
Type
Intent Optional Attributes
Name
integer(kind=default_int),
intent(in)
::
unit
integer(kind=int32),
intent(in),
allocatable
::
values (:)
integer(kind=default_int),
intent(in)
::
n
type(error_t ),
intent(inout)
::
err
Write the first n elements of an integer(int64) field.
Arguments
Type
Intent Optional Attributes
Name
integer(kind=default_int),
intent(in)
::
unit
integer(kind=int64),
intent(in),
allocatable
::
values (:)
integer(kind=default_int),
intent(in)
::
n
type(error_t ),
intent(inout)
::
err
Write the first n elements of a real(sp) field.
Arguments
Type
Intent Optional Attributes
Name
integer(kind=default_int),
intent(in)
::
unit
real(kind=sp),
intent(in),
allocatable
::
values (:)
integer(kind=default_int),
intent(in)
::
n
type(error_t ),
intent(inout)
::
err
Write the first n elements of a real(dp) field.
Arguments
Type
Intent Optional Attributes
Name
integer(kind=default_int),
intent(in)
::
unit
real(kind=dp),
intent(in),
allocatable
::
values (:)
integer(kind=default_int),
intent(in)
::
n
type(error_t ),
intent(inout)
::
err
Write the first n elements of a default logical field as an
int32 record of 0/1 codes.
Read more…
Arguments
Type
Intent Optional Attributes
Name
integer(kind=default_int),
intent(in)
::
unit
logical,
intent(in),
allocatable
::
values (:)
integer(kind=default_int),
intent(in)
::
n
type(error_t ),
intent(inout)
::
err