input_int Function

private function input_int(me, key, default_value) result(val)

Type Bound

input_t

Arguments

Type IntentOptional Attributes Name
class(input_t), intent(in) :: me
character(len=*), intent(in) :: key
integer, intent(in), optional :: default_value

Return Value integer


Calls

proc~~input_int~~CallsGraph proc~input_int input_t%input_int proc~continue_if continue_if proc~input_int->proc~continue_if proc~input_has_key input_t%input_has_key proc~input_int->proc~input_has_key proc~input_node input_t%input_node proc~input_int->proc~input_node proc~select_scalar select_scalar proc~input_int->proc~select_scalar to_integer to_integer proc~input_int->to_integer get get proc~input_has_key->get proc~select_dict select_dict proc~input_has_key->proc~select_dict proc~input_node->get proc~dictionary_traverse dictionary_traverse proc~input_node->proc~dictionary_traverse proc~input_node->proc~select_dict proc~dictionary_traverse->proc~dictionary_traverse get_dictionary get_dictionary proc~dictionary_traverse->get_dictionary proc~abort_if abort_if proc~dictionary_traverse->proc~abort_if

Source Code

function input_int(me,key,default_value) result(val)
    class(input_t), intent(in) :: me
    character(*), intent(in)   :: key
    integer, optional, intent(in) :: default_value
    integer                    :: val
    logical                    :: ok
    type(type_scalar), pointer :: scalar

    if(present(default_value)) val = default_value
    if(.not.me%has_key(key) .and. present(default_value)) return
    scalar => select_scalar(me%node(key))
    val = scalar%to_integer(0, ok)
    call continue_if(scalar, ok)
end function input_int