column_class Module



Variables

Type Visibility Attributes Name Initial
integer, private, parameter :: MAX_CHAR_LEN_DEFAULT = 100

Derived Types

type, public ::  column

Components

Type Visibility Attributes Name Initial
complex(kind=rk), private, dimension(:), allocatable :: ccol
character(len=:), private, dimension(:), allocatable :: charcol
integer, public :: dtype = 0
integer(kind=ik), private, dimension(:), allocatable :: icol
logical, private :: initialized = .false.
logical, private, dimension(:), allocatable :: lcol
integer, public :: n
real(kind=rk), private, dimension(:), allocatable :: rcol

Type-Bound Procedures

procedure, public :: changec => change_col_complex
procedure, public :: changech => change_col_character
procedure, public :: changei => change_col_integer
procedure, public :: changel => change_col_logical
procedure, public :: changer => change_col_real
procedure, private :: col_constructor_character
procedure, private :: col_constructor_complex
procedure, private :: col_constructor_integer
procedure, private :: col_constructor_logical
procedure, private :: col_constructor_real
procedure, public :: destroy => col_destructor
procedure, public :: emptyc => col_constructor_alloc_complex
procedure, public :: emptych => col_constructor_alloc_character
procedure, public :: emptyi => col_constructor_alloc_integer
procedure, public :: emptyl => col_constructor_alloc_logical
procedure, public :: emptyr => col_constructor_alloc_real
procedure, private :: get_from_col_character
procedure, private :: get_from_col_complex
procedure, private :: get_from_col_integer
procedure, private :: get_from_col_logical
procedure, private :: get_from_col_real
procedure, private :: get_single_col_character
procedure, private :: get_single_col_complex
procedure, private :: get_single_col_integer
procedure, private :: get_single_col_logical
procedure, private :: get_single_col_real
procedure, public :: get_type => get_from_col_dtype
generic, public :: getc => get_from_col_complex, get_single_col_complex
generic, public :: getch => get_from_col_character, get_single_col_character
generic, public :: geti => get_from_col_integer, get_single_col_integer
generic, public :: getl => get_from_col_logical, get_single_col_logical
generic, public :: getr => get_from_col_real, get_single_col_real
generic, public :: new => col_constructor_real, col_constructor_integer, col_constructor_logical, col_constructor_character, col_constructor_complex

Functions

private pure function get_from_col_character(this) result(col)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value character(len=:), dimension(:), allocatable

private pure function get_from_col_complex(this) result(col)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value complex(kind=rk), dimension(this % n)

private pure function get_from_col_dtype(this) result(dtype)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value integer

private pure function get_from_col_integer(this) result(col)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value integer(kind=ik), dimension(this % n)

private pure function get_from_col_logical(this) result(col)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value logical, dimension(this % n)

private pure function get_from_col_real(this) result(col)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this

Return Value real(kind=rk), dimension(this % n)

private pure function get_single_col_character(this, i) result(val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this
integer, intent(in) :: i

Return Value character(len=:), allocatable

private pure function get_single_col_complex(this, i) result(val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this
integer, intent(in) :: i

Return Value complex(kind=rk)

private pure function get_single_col_integer(this, i) result(val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this
integer, intent(in) :: i

Return Value integer(kind=ik)

private pure function get_single_col_logical(this, i) result(val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this
integer, intent(in) :: i

Return Value logical

private pure function get_single_col_real(this, i) result(val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(in) :: this
integer, intent(in) :: i

Return Value real(kind=rk)


Subroutines

private subroutine change_col_character(this, i, val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: i
character(len=*), intent(in) :: val

private subroutine change_col_complex(this, i, val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: i
complex(kind=rk), intent(in) :: val

private subroutine change_col_integer(this, i, val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: i
integer(kind=ik), intent(in) :: val

private subroutine change_col_logical(this, i, val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: i
logical, intent(in) :: val

private subroutine change_col_real(this, i, val)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: i
real(kind=rk), intent(in) :: val

private subroutine col_constructor_alloc_character(this, n, len)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: n
integer, intent(in), optional :: len

private subroutine col_constructor_alloc_complex(this, n)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: n

private subroutine col_constructor_alloc_integer(this, n)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: n

private subroutine col_constructor_alloc_logical(this, n)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: n

private subroutine col_constructor_alloc_real(this, n)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer, intent(in) :: n

private subroutine col_constructor_character(this, dcol)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
character(len=*), intent(in), dimension(:) :: dcol

private subroutine col_constructor_complex(this, dcol)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
complex(kind=rk), intent(in), dimension(:) :: dcol

private subroutine col_constructor_integer(this, dcol)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
integer(kind=ik), intent(in), dimension(:) :: dcol

private subroutine col_constructor_logical(this, dcol)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
logical, intent(in), dimension(:) :: dcol

private subroutine col_constructor_real(this, dcol)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this
real(kind=rk), intent(in), dimension(:) :: dcol

private subroutine col_destructor(this)

Arguments

Type IntentOptional Attributes Name
class(column), intent(inout) :: this