Module gt_mem
module gt_mem
! Uses
use dc_types, only: string, token
! Types
public type attr_chain
public type MEM_VARIABLE_ENTRY
public type MEM_VARIABLE
! Variables
type (mem_variable_entry), private, allocatable, save, target, dimension (:) :: memtab
! Interfaces
public interface Create
public interface Close
public interface Attr_Rewind
public interface attr_next
public interface attr_true
public interface del_attr
public interface put_attr
public interface get_attr
! Subroutines and functions
private integer function memtab_add (var, name)
public subroutine memcreated (var, url, length, xtype, long_name, overwrite, err)
private integer function memtab_lookup (var, ent)
public subroutine memclose (var)
public subroutine MemAttrGet (var, name, value, err)
public subroutine MemAttrGetV (var, name, value, err)
public subroutine MemAttrDel (var, name, err)
public logical function MemAttrTrue (var, name, default)
public subroutine memAttrRewind (var)
public subroutine memAttrNext (var, name, err)
public subroutine memattradd (var, attrname, attrval)
public subroutine memattradd_v (var, attrname, attrval)
end module gt_mem
Description of Types
attr_chain
public type attr_chain
type (attr_chain), pointer :: next
character (len=token) :: name
character, pointer, dimension (:) :: cbuf
end type attr_chain
MEM_VARIABLE_ENTRY
public type MEM_VARIABLE_ENTRY
character (len=token) :: name
character (len=token) :: xtype
double precision, pointer, dimension (:) :: dbuf
type (attr_chain), pointer :: attr
type (attr_chain), pointer :: current
end type MEM_VARIABLE_ENTRY
MEM_VARIABLE
public type MEM_VARIABLE
integer :: id
end type MEM_VARIABLE
Description of Variables
memtab
type (mem_variable_entry), private, allocatable, save, target, dimension (:) :: memtab
Description of Interfaces
Create
public interface Create
module procedure MemCreateD
end interface Create
Close
public interface Close
module procedure MemClose
end interface Close
Attr_Rewind
public interface Attr_Rewind
module procedure MemAttrRewind
end interface Attr_Rewind
attr_next
public interface attr_next
module procedure MemAttrNext
end interface attr_next
attr_true
public interface attr_true
module procedure MemAttrTrue
end interface attr_true
del_attr
public interface del_attr
module procedure MemAttrDel
end interface del_attr
put_attr
public interface put_attr
module procedure memattradd_v
module procedure memattradd
end interface put_attr
get_attr
public interface get_attr
module procedure MemAttrGet
module procedure MemAttrGetV
end interface get_attr
Description of Subroutines and Functions
memtab_add
private function memtab_add (var, name) result (stat)
type (mem_variable), intent(out) :: var
character (len=*), intent(in) :: name
integer :: stat
end function memtab_add
memcreated
public subroutine memcreated (var, url, length, xtype, long_name, overwrite, err)
type (MEM_VARIABLE), intent(out) :: var
character (len=*), intent(in) :: url
integer, intent(in) :: length
character (len=*), optional, intent(in) :: xtype
character (len=*), optional, intent(in) :: long_name
logical, optional, intent(in) :: overwrite
logical, optional, intent(out) :: err
! Calls: memattradd
end subroutine memcreated
memtab_lookup
private function memtab_lookup (var, ent) result (stat)
type (mem_variable), intent(in) :: var
type (mem_variable_entry), pointer :: ent
integer :: stat
end function memtab_lookup
memclose
public subroutine memclose (var)
type (mem_variable), intent(in) :: var
end subroutine memclose
MemAttrGet
public subroutine MemAttrGet (var, name, value, err)
type (mem_variable), intent(in) :: var
character (len=*), intent(in) :: name
character (len=*), intent(out) :: value
logical, optional, intent(out) :: err
! Calls: StoreError
end subroutine MemAttrGet
MemAttrGetV
public subroutine MemAttrGetV (var, name, value, err)
type (mem_variable), intent(in) :: var
character (len=*), intent(in) :: name
type (vstring), intent(out) :: value
logical, optional, intent(out) :: err
! Calls: StoreError
end subroutine MemAttrGetV
MemAttrDel
public subroutine MemAttrDel (var, name, err)
type (MEM_VARIABLE), intent(in) :: var
character (len=*), intent(in) :: name
logical, optional, intent(out) :: err
! Calls: StoreError
end subroutine MemAttrDel
MemAttrTrue
public function MemAttrTrue (var, name, default) result (result)
type (MEM_VARIABLE), intent(in) :: var
character (len=*), intent(in) :: name
logical, optional, intent(in) :: default
logical :: result
end function MemAttrTrue
memAttrRewind
public subroutine memAttrRewind (var)
type (MEM_VARIABLE), intent(in) :: var
end subroutine memAttrRewind
memAttrNext
public subroutine memAttrNext (var, name, err)
type (MEM_VARIABLE), intent(in) :: var
character (len=*), intent(out) :: name
logical, optional, intent(out) :: err
end subroutine memAttrNext
memattradd
public subroutine memattradd (var, attrname, attrval)
type (MEM_VARIABLE), intent(in) :: var
character (len=*), intent(in) :: attrname
character (len=*), intent(in) :: attrval
end subroutine memattradd
memattradd_v
public subroutine memattradd_v (var, attrname, attrval)
type (MEM_VARIABLE), intent(in) :: var
character (len=*), intent(in) :: attrname
type (vstring), intent(in) :: attrval
end subroutine memattradd_v