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 | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | i | |||
complex(kind=rk), | intent(in) | :: | val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | i | |||
character(len=*), | intent(in) | :: | val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | i | |||
integer(kind=ik), | intent(in) | :: | val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | i | |||
logical, | intent(in) | :: | val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | i | |||
real(kind=rk), | intent(in) | :: | val |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
complex(kind=rk), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
logical, | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | n | |||
integer, | intent(in), | optional | :: | len |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer, | intent(in) | :: | n |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(in) | :: | this | |||
integer, | intent(in) | :: | i |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
real(kind=rk), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
integer(kind=ik), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
logical, | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
character(len=*), | intent(in), | dimension(:) | :: | dcol |
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(column), | intent(inout) | :: | this | |||
complex(kind=rk), | intent(in), | dimension(:) | :: | dcol |
type :: column private integer, public :: dtype = 0 ! no type integer, public :: n ! elements in column ! arrays to hold data ! only one (associated with dtype) will ever be allocated real(rk), dimension(:), allocatable :: rcol integer(ik), dimension(:), allocatable :: icol logical, dimension(:), allocatable :: lcol character(len=:), dimension(:), allocatable :: charcol complex(rk), dimension(:), allocatable :: ccol logical :: initialized = .false. contains private ! empty constructors procedure, public :: emptyr => col_constructor_alloc_real procedure, public :: emptyi => col_constructor_alloc_integer procedure, public :: emptyl => col_constructor_alloc_logical procedure, public :: emptych => col_constructor_alloc_character procedure, public :: emptyc => col_constructor_alloc_complex ! constructor/setter combo procedure :: col_constructor_real, & col_constructor_integer, & col_constructor_logical, & col_constructor_character, & col_constructor_complex generic, public :: new => col_constructor_real, & col_constructor_integer, & col_constructor_logical, & col_constructor_character, & col_constructor_complex ! destructor procedure, public :: destroy => col_destructor ! get data type procedure, public :: get_type => get_from_col_dtype ! get either whole column as array or single value procedure :: get_from_col_real, & get_from_col_integer, & get_from_col_logical, & get_from_col_character, & get_from_col_complex procedure :: get_single_col_real, & get_single_col_integer, & get_single_col_logical, & get_single_col_character, & get_single_col_complex generic, public :: getr => get_from_col_real, get_single_col_real generic, public :: geti => get_from_col_integer, get_single_col_integer generic, public :: getl => get_from_col_logical, get_single_col_logical generic, public :: getch => get_from_col_character, get_single_col_character generic, public :: getc => get_from_col_complex, get_single_col_complex ! Give element new value (setter) procedure, public :: changer => change_col_real procedure, public :: changei => change_col_integer procedure, public :: changel => change_col_logical procedure, public :: changech => change_col_character procedure, public :: changec => change_col_complex end type column