DictionaryClass Module



Interfaces

public interface count

  • public recursive function count_char_char(sentence, key, initialized) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: sentence
    character(len=*), intent(in) :: key
    logical, intent(in), optional :: initialized

    Return Value integer(kind=int32)

public interface split

  • public function splitChar_Dict(line, splitter) result(ret_dict)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: line
    character(len=*), intent(in) :: splitter

    Return Value type(Dictionary_)

public interface from_json

  • public recursive function from_JSON_IOClass(filename, from_line_idx, only_num_bracket) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    character(len=*), intent(in) :: filename
    integer(kind=int32), intent(in), optional :: from_line_idx
    integer(kind=int32), intent(in), optional :: only_num_bracket

    Return Value type(Dictionary_)

public interface str

  • public recursive function str_from_dict(dict) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    type(Dictionary_), intent(in) :: dict

    Return Value character(len=:), allocatable

  • public function str_from_intvec(intvec) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    integer(kind=int32), intent(in) :: intvec(:)

    Return Value character(len=:), allocatable

  • public function str_from_realvec(realvec) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    real(kind=real64), intent(in) :: realvec(:)

    Return Value character(len=:), allocatable

public interface operator(>)

  • public recursive function findDictionary(this, key) result(val)

    Arguments

    Type IntentOptional Attributes Name
    class(Dictionary_), intent(in) :: this
    character(len=*), intent(in) :: key

    Return Value character(len=:), allocatable


Derived Types

type, public ::  Page_

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: charvalue
character(len=:), public, allocatable :: key
integer(kind=int32), public :: type_id = 0
integer(kind=int32), public :: IntValue
real(kind=real64), public :: RealValue
integer(kind=int32), public, allocatable :: intlist(:)
real(kind=real64), public, allocatable :: realist(:)

type, public ::  Dictionary_

Components

Type Visibility Attributes Name Initial
character(len=36), public :: uuid = ""
type(Page_), public, allocatable :: pages(:)
logical, public :: initialized = .false.
integer(kind=int32), public :: num_entity = 0

Type-Bound Procedures

procedure, public :: Init => InitializeDictionary
procedure, public :: Input => InputDictionary
procedure, public :: Get => GetDictionaryValue
procedure, public :: GetPageNum => GetPageNumDictionary
procedure, public :: sizeof => sizeofDictionary
procedure, public :: content => contentofDictionary
procedure, public :: intlist => intlistofDictionary
procedure, public :: intvalue => intvalueofDictionary
procedure, public :: realvalue => realvalueofDictionary
procedure, public :: show => showDictionary
procedure, public :: export => exportDictionary
procedure, public :: destroy => destroyDictionary
procedure, public :: remove => destroyDictionary
procedure, public, pass :: updateDictionaryInt
procedure, public, pass :: updateDictionaryReal64
procedure, public, pass :: updateDictionaryChar
procedure, public, pass :: updateDictionaryDictionary
generic, public :: update => updateDictionaryInt, updateDictionaryReal64, updateDictionaryChar, updateDictionaryDictionary
procedure, public :: find => findDictionary
procedure, public :: findID => findIDDictionary
procedure, public :: to_csv => to_csvDictionary
procedure, public :: to_json => to_jsonDictionary

type, public, extends(Page_) ::  FileInfo_

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: charvalue
character(len=:), public, allocatable :: key
integer(kind=int32), public :: type_id = 0
integer(kind=int32), public :: IntValue
real(kind=real64), public :: RealValue
integer(kind=int32), public, allocatable :: intlist(:)
real(kind=real64), public, allocatable :: realist(:)
character(len=200), public :: Path
character(len=200), public :: DirectoryName
character(len=200), public :: FileName
integer(kind=int32), public :: FileID

type, public ::  FileList_

Components

Type Visibility Attributes Name Initial
type(FileInfo_), public, allocatable :: FileList(:)

Type-Bound Procedures

procedure, public :: setFilePath
procedure, public :: setDirectoryName
procedure, public :: setFileName

Functions

public function to_dict(name) result(ret_dict)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: name

Return Value type(Dictionary_)

public function dict(max_num_entity) result(ret_dict)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in), optional :: max_num_entity

Return Value type(Dictionary_)

public function intlistofDictionary(obj, page, ind) result(n)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
integer(kind=int32), intent(in) :: page
integer(kind=int32), intent(in) :: ind

Return Value integer(kind=int32)

public function intvalueofDictionary(obj, page) result(n)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
integer(kind=int32), intent(in) :: page

Return Value integer(kind=int32)

public function realvalueofDictionary(obj, page) result(n)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
integer(kind=int32), intent(in) :: page

Return Value real(kind=real64)

public function GetDictionaryValue(obj, page) result(content)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
integer(kind=int32), intent(in) :: page

Return Value character(len=:), allocatable

public function sizeofDictionary(obj) result(n)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj

Return Value integer(kind=int32)

public function contentofDictionary(obj, id) result(content)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
integer(kind=int32), intent(in) :: id

Return Value character(len=200)

public function GetPageNumDictionary(obj, Content) result(page)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: obj
character(len=*), intent(in) :: Content

Return Value integer(kind=int32)

public recursive function findDictionary(this, key) result(val)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: this
character(len=*), intent(in) :: key

Return Value character(len=:), allocatable

public recursive function findIDDictionary(this, key) result(val)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(in) :: this
character(len=*), intent(in) :: key

Return Value integer(kind=int32), (2)

public recursive function count_char_char(sentence, key, initialized) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: sentence
character(len=*), intent(in) :: key
logical, intent(in), optional :: initialized

Return Value integer(kind=int32)

public function splitChar_Dict(line, splitter) result(ret_dict)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: line
character(len=*), intent(in) :: splitter

Return Value type(Dictionary_)

public recursive function from_JSON_IOClass(filename, from_line_idx, only_num_bracket) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename
integer(kind=int32), intent(in), optional :: from_line_idx
integer(kind=int32), intent(in), optional :: only_num_bracket

Return Value type(Dictionary_)

public function get_num_entity_json(filename) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: filename

Return Value integer(kind=int32)

public recursive function str_from_dict(dict) result(ret)

Arguments

Type IntentOptional Attributes Name
type(Dictionary_), intent(in) :: dict

Return Value character(len=:), allocatable

public function str_from_intvec(intvec) result(ret)

Arguments

Type IntentOptional Attributes Name
integer(kind=int32), intent(in) :: intvec(:)

Return Value character(len=:), allocatable

public function str_from_realvec(realvec) result(ret)

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(in) :: realvec(:)

Return Value character(len=:), allocatable

public recursive function parse_json_as_dict(content, from_line_idx, only_num_bracket) result(ret)

! !

Read more…

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: content
integer(kind=int32), intent(in), optional :: from_line_idx
integer(kind=int32), intent(in), optional :: only_num_bracket

Return Value type(Dictionary_)

public function get_num_entity_json_str(content) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: content

Return Value integer(kind=int32)

public function is_EOL(content, line_idx) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: content
integer(kind=int32), intent(in) :: line_idx

Return Value logical

public function readline(content, line_idx) result(ret)

Arguments

Type IntentOptional Attributes Name
character(len=*), intent(in) :: content
integer(kind=int32), intent(in) :: line_idx

Return Value character(len=:), allocatable


Subroutines

public subroutine updateDictionaryInt(this, key, intvalue)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: this
character(len=*), intent(in) :: key
integer(kind=int32), intent(in) :: intvalue

public subroutine updateDictionaryReal64(this, key, realValue)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: this
character(len=*), intent(in) :: key
real(kind=real64), intent(in) :: realValue

public subroutine updateDictionaryChar(this, key, charValue)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: this
character(len=*), intent(in) :: key
character(len=*), intent(in) :: charValue

public subroutine updateDictionaryDictionary(this, key, dictValue)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: this
character(len=*), intent(in) :: key
type(Dictionary_), intent(in) :: dictValue

public subroutine InitializeDictionary(obj, NumOfPage)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: obj
integer(kind=int32), intent(in) :: NumOfPage

public subroutine InputDictionary(obj, page, Content, RealValue, IntValue, Realist, Intlist, DictValue)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: obj
integer(kind=int32), intent(in) :: page
character(len=*), intent(in), optional :: Content
real(kind=real64), intent(in), optional :: RealValue
integer(kind=int32), intent(in), optional :: IntValue
real(kind=real64), intent(in), optional :: Realist(:)
integer(kind=int32), intent(in), optional :: Intlist(:)
type(Dictionary_), intent(in), optional :: DictValue

public subroutine setFilePath(obj, FilePath, FileID)

Arguments

Type IntentOptional Attributes Name
class(FileList_), intent(inout) :: obj
character(len=200), intent(in) :: FilePath
integer(kind=int32), intent(in) :: FileID

public subroutine setDirectoryName(obj, DirectoryName, FileID)

Arguments

Type IntentOptional Attributes Name
class(FileList_), intent(inout) :: obj
character(len=200), intent(in) :: DirectoryName
integer(kind=int32), intent(in) :: FileID

public subroutine setFileName(obj, FileName, FileID)

Arguments

Type IntentOptional Attributes Name
class(FileList_), intent(inout) :: obj
character(len=200), intent(in) :: FileName
integer(kind=int32), intent(in) :: FileID

public subroutine showDictionary(obj, From, to, Name)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_) :: obj
integer(kind=int32), intent(in), optional :: From
integer(kind=int32), intent(in), optional :: to
character(len=*), intent(in), optional :: Name

public subroutine exportDictionary(obj, FileName, fh, From, to)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_) :: obj
character(len=*), intent(in) :: FileName
integer(kind=int32), intent(in), optional :: fh
integer(kind=int32), intent(in), optional :: From
integer(kind=int32), intent(in), optional :: to

public subroutine destroyDictionary(obj)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_), intent(inout) :: obj

public subroutine to_csvDictionary(obj, Name, From, to)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_) :: obj
character(len=*), intent(in) :: Name
integer(kind=int32), intent(in), optional :: From
integer(kind=int32), intent(in), optional :: to

public subroutine to_jsonDictionary(obj, Name, From, to)

Arguments

Type IntentOptional Attributes Name
class(Dictionary_) :: obj
character(len=*), intent(in) :: Name
integer(kind=int32), intent(in), optional :: From
integer(kind=int32), intent(in), optional :: to