pFIO_UnlimitedEntityMod
Author: GMAO SI-Team
The module pFIO_UnlimitedEntityMod
encapsulates notion of variable UnlimitedEntitys.
CFIO_AtttributeMod
is a support layer for the CFIO package and
which implements encapsulates variable UnlimitedEntitys ala NetCDF.
An UnlimitedEntity can be any Fortan kind/type and can either be a scalar
or a 1-dimensional vector. (Strings can only be scalars.)
While some functionality exists for containing non-intrinsic types (e.g., user defined types), the primary intended use is for establishing correspondence with intrinsic types stored in files.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | value | |||
integer, | intent(out), | optional | :: | rc |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | values(:) | |||
integer, | intent(out), | optional | :: | rc |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | values(:,:) | |||
integer, | intent(out), | optional | :: | rc |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | values(:,:,:) | |||
integer, | intent(out), | optional | :: | rc |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | values(:,:,:,:) | |||
integer, | intent(out), | optional | :: | rc |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(*), | intent(in) | :: | values(:,:,:,:,:) | |||
integer, | intent(out), | optional | :: | rc |
This derived type is a workaround for sporadic Intel Fortran issues when accessing strings through unlimited polymorphic entities.
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=:), | public, | allocatable | :: | value |
private function new_UnlimitedEntity_empty () | |
private function new_UnlimitedEntity_0d (value, rc) | |
private function new_UnlimitedEntity_1d (values, rc) | |
private function new_UnlimitedEntity_2d (values, rc) | |
private function new_UnlimitedEntity_3d (values, rc) | |
private function new_UnlimitedEntity_4d (values, rc) | |
private function new_UnlimitedEntity_5d (values, rc) |
procedure, public :: destroy | |
procedure, public :: equal | |
procedure, public :: get_rank | |
procedure, public :: get_shape | |
procedure, public :: get_string | |
procedure, public :: get_value | |
procedure, public :: get_values | |
procedure, public :: is_empty | |
procedure, public :: not_equal | |
generic, public :: operator(/=) => not_equal | |
generic, public :: operator(==) => equal | |
procedure, public :: serialize | |
procedure, public :: set |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | buffer(:) | |||
type(UnlimitedEntity), | intent(inout) | :: | this | |||
integer, | intent(out), | optional | :: | rc |