input_json Derived Type

type, public :: input_json


Inherits

type~~input_json~~InheritsGraph type~input_json input_json json_file json_file type~input_json->json_file input type~spect3d spect3d type~input_json->type~spect3d sp type~parallel parallel type~input_json->type~parallel p type~parallel_pipe parallel_pipe type~input_json->type~parallel_pipe pp type~perrors perrors type~input_json->type~perrors err type~spect2d spect2d type~spect3d->type~spect2d type~parallel_pipe->type~parallel type~perrors->type~parallel p type~spect2d->type~parallel_pipe p type~spect2d->type~perrors err

Inherited by

type~~input_json~~InheritedByGraph type~input_json input_json type~simulation simulation type~simulation->type~input_json in

Contents


Components

TypeVisibility AttributesNameInitial
class(spect3d), public, pointer:: sp=> null()
class(perrors), public, pointer:: err=> null()
class(parallel), public, pointer:: p=> null()
class(parallel_pipe), public, pointer:: pp=> null()
type(json_file), private, pointer:: input=> null()

Type-Bound Procedures

generic, public :: new => read_input_json

  • private subroutine read_input_json(this)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
  • private subroutine json_file_get_object(this, path, p)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    type(json_value), intent(out), pointer:: p
  • private subroutine json_file_get_integer(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out) :: val
  • private subroutine json_file_get_double(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    real, intent(out) :: val
  • private subroutine json_file_get_logical(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    logical, intent(out) :: val
  • private subroutine json_file_get_string(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=:), intent(out), allocatable:: val
  • private subroutine json_file_get_integer_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out), dimension(:), allocatable:: vec
  • private subroutine json_file_get_double_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    real, intent(out), dimension(:), allocatable:: vec
  • private subroutine json_file_get_logical_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    logical, intent(out), dimension(:), allocatable:: vec
  • private subroutine json_file_get_string_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=*), intent(out), dimension(:), allocatable:: vec
  • private subroutine json_file_get_alloc_string_vec(this, path, vec, ilen)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=:), intent(out), dimension(:), allocatable:: vec
    integer, intent(out), dimension(:), allocatable:: ilen
  • private subroutine json_file_get_root(this, p)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    type(json_value), intent(out), pointer:: p

generic, public :: info => json_file_variable_info

  • private subroutine json_file_variable_info(this, path, n_children)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out) :: n_children

procedure, public :: found

  • private function found(this, path)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path

    Return Value logical

procedure, private :: read_input_json

  • private subroutine read_input_json(this)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this

procedure, private :: set_json_core_in_file

  • private subroutine set_json_core_in_file(this, core)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    type(json_core), intent(in) :: core

procedure, private :: initialize

  • private subroutine initialize(this, verbose, compact_reals, print_signs, real_format, spaces_per_tab, strict_type_checking, trailing_spaces_significant, case_sensitive_keys, no_whitespace, unescape_strings, comment_char, path_mode, path_separator, compress_vectors, allow_duplicate_keys)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    logical, intent(in), optional :: verbose
    logical, intent(in), optional :: compact_reals
    logical, intent(in), optional :: print_signs
    character(len=*), intent(in), optional :: real_format
    integer, intent(in), optional :: spaces_per_tab
    logical, intent(in), optional :: strict_type_checking
    logical, intent(in), optional :: trailing_spaces_significant
    logical, intent(in), optional :: case_sensitive_keys
    logical, intent(in), optional :: no_whitespace
    logical, intent(in), optional :: unescape_strings
    character(len=1), intent(in), optional :: comment_char
    integer, intent(in), optional :: path_mode
    character(len=1), intent(in), optional :: path_separator
    logical, intent(in), optional :: compress_vectors
    logical, intent(in), optional :: allow_duplicate_keys

procedure, private :: print_to_string

  • private subroutine print_to_string(this, str)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=:), intent(out), allocatable:: str

procedure, private :: load_file

  • private subroutine load_file(this, filename, unit)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: filename
    integer, intent(in), optional :: unit

procedure, private :: load_from_string

  • private subroutine load_from_string(this, str)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: str

procedure, private :: json_file_get_root

  • private subroutine json_file_get_root(this, p)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    type(json_value), intent(out), pointer:: p

procedure, private :: json_file_get_alloc_string_vec

  • private subroutine json_file_get_alloc_string_vec(this, path, vec, ilen)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=:), intent(out), dimension(:), allocatable:: vec
    integer, intent(out), dimension(:), allocatable:: ilen

procedure, private :: json_file_get_string_vec

  • private subroutine json_file_get_string_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=*), intent(out), dimension(:), allocatable:: vec

procedure, private :: json_file_get_logical_vec

  • private subroutine json_file_get_logical_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    logical, intent(out), dimension(:), allocatable:: vec

procedure, private :: json_file_get_double_vec

  • private subroutine json_file_get_double_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    real, intent(out), dimension(:), allocatable:: vec

procedure, private :: json_file_get_integer_vec

  • private subroutine json_file_get_integer_vec(this, path, vec)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out), dimension(:), allocatable:: vec

procedure, private :: json_file_get_string

  • private subroutine json_file_get_string(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    character(len=:), intent(out), allocatable:: val

procedure, private :: json_file_get_logical

  • private subroutine json_file_get_logical(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    logical, intent(out) :: val

procedure, private :: json_file_get_double

  • private subroutine json_file_get_double(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    real, intent(out) :: val

procedure, private :: json_file_get_integer

  • private subroutine json_file_get_integer(this, path, val)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out) :: val

procedure, private :: json_file_get_object

  • private subroutine json_file_get_object(this, path, p)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    type(json_value), intent(out), pointer:: p

procedure, private :: json_file_variable_info

  • private subroutine json_file_variable_info(this, path, n_children)

    Arguments

    Type IntentOptional AttributesName
    class(input_json), intent(inout) :: this
    character(len=*), intent(in) :: path
    integer, intent(out) :: n_children