keytable Derived Type

type, public :: keytable


Inherits

type~~keytable~~InheritsGraph type~keytable keytable type~a_row a_row type~keytable->type~a_row row

Inherited by

type~~keytable~~InheritedByGraph type~keytable keytable type~mesh mesh type~mesh->type~keytable ov2c_sup, c2ov_sup, ov2f_sup, f2ov_sup type~pde pde type~pde->type~mesh msh type~field field type~field->type~mesh msh type~scalar_field scalar_field type~scalar_field->type~field type~vector_field vector_field type~vector_field->type~field type~scalar_pde scalar_pde type~scalar_pde->type~pde type~vector_pde vector_pde type~vector_pde->type~pde

Contents

Source Code


Components

TypeVisibility AttributesNameInitial
type(a_row), private, allocatable:: row(:)

Type-Bound Procedures

procedure, public :: alloc_keytable

  • interface

    private module subroutine alloc_keytable(table, lb, ub)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(inout) :: table
    integer, intent(in) :: lb
    integer, intent(in) :: ub

procedure, public :: exists

  • interface

    private module function exists(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table

    Return Value logical

procedure, public :: free_keytable

  • interface

    private module subroutine free_keytable(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(inout) :: table

procedure, public :: get_kt_row

  • interface

    private module subroutine get_kt_row(table, i, irow)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in), target:: table
    integer, intent(in) :: i
    integer, pointer:: irow(:)

procedure, public :: get_row_lb

  • interface

    private module function get_row_lb(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table

    Return Value integer

procedure, public :: get_row_size

  • interface

    private module function get_row_size(table, i)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table
    integer, intent(in) :: i

    Return Value integer

procedure, public :: get_row_ub

  • interface

    private module function get_row_ub(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table

    Return Value integer

procedure, public :: get_rows

  • interface

    private module function get_rows(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table

    Return Value integer

generic, public :: nemo_sizeof => nemo_keytable_sizeof

procedure, public :: set_kt_row

  • interface

    private module subroutine set_kt_row(table, i, irow)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(inout) :: table
    integer, intent(in) :: i
    integer, intent(in) :: irow(:)

procedure, private :: nemo_keytable_sizeof

  • interface

    private elemental module function nemo_keytable_sizeof(table)

    Arguments

    Type IntentOptional AttributesName
    class(keytable), intent(in) :: table

    Return Value integer(kind=nemo_int_long_)

Source Code

    TYPE keytable
        PRIVATE
        TYPE(a_row), ALLOCATABLE :: row(:)
    CONTAINS
        PROCEDURE :: alloc_keytable, free_keytable     ! Constructor/Destructor
        PROCEDURE :: get_kt_row, get_rows, get_row_ub, get_row_lb  ! Getters
        PROCEDURE :: get_row_size                                  ! Getters, cont.
        PROCEDURE :: set_kt_row                                    ! Setters
        PROCEDURE, PRIVATE :: nemo_keytable_sizeof
        GENERIC, PUBLIC :: nemo_sizeof => nemo_keytable_sizeof
        PROCEDURE, PUBLIC :: exists
    END TYPE keytable