to_integer Subroutine

private subroutine to_integer(json, p, val, name)

Change the json_value variable to an integer.

Type Bound

json_core

Arguments

Type IntentOptional Attributes Name
class(json_core), intent(inout) :: json
type(json_value), pointer :: p
integer(kind=IK), intent(in), optional :: val

if the value is also to be set (if not present, then 0 is used).

character(kind=CK, len=*), intent(in), optional :: name

if the name is also to be changed.


Calls

proc~~to_integer~~CallsGraph proc~to_integer json_core%to_integer proc~destroy_json_data destroy_json_data proc~to_integer->proc~destroy_json_data

Called by

proc~~to_integer~~CalledByGraph proc~to_integer json_core%to_integer proc~json_update_integer json_core%json_update_integer proc~json_update_integer->proc~to_integer proc~json_value_create_integer json_core%json_value_create_integer proc~json_value_create_integer->proc~to_integer proc~parse_number json_core%parse_number proc~parse_number->proc~to_integer none~create_integer json_core%create_integer none~create_integer->proc~json_value_create_integer proc~wrap_json_value_create_integer json_core%wrap_json_value_create_integer none~create_integer->proc~wrap_json_value_create_integer proc~parse_value_nonrecursive parse_value_nonrecursive proc~parse_value_nonrecursive->proc~parse_number proc~parse_value_recursive parse_value_recursive proc~parse_value_recursive->proc~parse_number proc~json_add_integer_by_path json_core%json_add_integer_by_path proc~json_add_integer_by_path->none~create_integer proc~json_value_add_integer json_core%json_value_add_integer proc~json_value_add_integer->none~create_integer proc~wrap_json_value_create_integer->none~create_integer proc~wrap_json_add_integer_by_path json_core%wrap_json_add_integer_by_path proc~wrap_json_add_integer_by_path->proc~json_add_integer_by_path

Source Code

    subroutine to_integer(json,p,val,name)

    implicit none

    class(json_core),intent(inout)               :: json
    type(json_value),pointer                     :: p
    integer(IK),intent(in),optional              :: val   !! if the value is also to be set
                                                          !! (if not present, then 0 is used).
    character(kind=CK,len=*),intent(in),optional :: name  !! if the name is also to be changed.

    !set type and value:
    call destroy_json_data(p)
    p%var_type = json_integer
    allocate(p%int_value)
    if (present(val)) then
        p%int_value = val
    else
        p%int_value = 0_IK    !default value
    end if

    !name:
    if (present(name)) call json%rename(p,name)

    end subroutine to_integer