fhash_container_t Derived Type

type, public :: fhash_container_t

Generic container for scalar and 1D data


Contents


Components

Type Visibility Attributes Name Initial
class(*), public, allocatable :: scalar_data
class(*), public, pointer :: scalar_ptr => NULL()

Type-Bound Procedures

procedure, public, :: allocated => fhash_container_allocated

  • private function fhash_container_allocated(container) result(alloc)

    Helper to determine if container contains anything

    Arguments

    Type IntentOptional Attributes Name
    class(fhash_container_t), intent(in) :: container

    Return Value logical

procedure, public, :: get => fhash_container_get_scalar

  • private subroutine fhash_container_get_scalar(container, i32, i64, r32, r64, char, bool, raw, match, type_string)

    Helper to return container value as intrinsic type

    Arguments

    Type IntentOptional Attributes Name
    class(fhash_container_t), intent(in), target :: container
    integer(kind=int32), intent(out), optional :: i32
    integer(kind=int64), intent(out), optional :: i64
    real(kind=sp), intent(out), optional :: r32
    real(kind=dp), intent(out), optional :: r64
    character(len=:), intent(out), optional, allocatable :: char
    logical, intent(out), optional :: bool
    class(*), intent(out), optional, allocatable :: raw
    logical, intent(out), optional :: match
    character(len=:), intent(out), optional, allocatable :: type_string

procedure, public, :: get_ptr => fhash_container_get_scalar_ptr

  • private subroutine fhash_container_get_scalar_ptr(container, i32, i64, r32, r64, char, bool, raw, match, type_string)

    Helper to return pointer to container value as intrinsic type

    Arguments

    Type IntentOptional Attributes Name
    class(fhash_container_t), intent(in), target :: container
    integer(kind=int32), intent(out), optional, pointer :: i32
    integer(kind=int64), intent(out), optional, pointer :: i64
    real(kind=sp), intent(out), optional, pointer :: r32
    real(kind=dp), intent(out), optional, pointer :: r64
    character(len=:), intent(out), optional, pointer :: char
    logical, intent(out), optional, pointer :: bool
    class(*), intent(out), optional, pointer :: raw
    logical, intent(out), optional :: match
    character(len=:), intent(out), optional, allocatable :: type_string