to_integer_I4P Function

private elemental function to_integer_I4P(self, kind) result(to_number)

Type Bound

string

Arguments

Type IntentOptional Attributes Name
class(string), intent(in) :: self
integer(kind=I4P), intent(in) :: kind

Return Value integer(kind=I4P)


Calls

proc~~to_integer_i4p~~CallsGraph proc~to_integer_i4p string%to_integer_I4P proc~is_integer string%is_integer proc~to_integer_i4p->proc~is_integer

Called by

proc~~to_integer_i4p~~CalledByGraph proc~to_integer_i4p string%to_integer_I4P none~to_number string%to_number none~to_number->proc~to_integer_i4p program~stringifor_test_csv_naive_parser stringifor_test_csv_naive_parser program~stringifor_test_csv_naive_parser->none~to_number program~stringifor_test_csv_naive_parser~2 stringifor_test_csv_naive_parser program~stringifor_test_csv_naive_parser~2->none~to_number program~volatile_doctest~104 volatile_doctest program~volatile_doctest~104->none~to_number program~volatile_doctest~1046 volatile_doctest program~volatile_doctest~1046->none~to_number program~volatile_doctest~1091 volatile_doctest program~volatile_doctest~1091->none~to_number program~volatile_doctest~112 volatile_doctest program~volatile_doctest~112->none~to_number program~volatile_doctest~1126 volatile_doctest program~volatile_doctest~1126->none~to_number program~volatile_doctest~1425 volatile_doctest program~volatile_doctest~1425->none~to_number program~volatile_doctest~1494 volatile_doctest program~volatile_doctest~1494->none~to_number program~volatile_doctest~1578 volatile_doctest program~volatile_doctest~1578->none~to_number program~volatile_doctest~1628 volatile_doctest program~volatile_doctest~1628->none~to_number program~volatile_doctest~166 volatile_doctest program~volatile_doctest~166->none~to_number program~volatile_doctest~1686 volatile_doctest program~volatile_doctest~1686->none~to_number program~volatile_doctest~1693 volatile_doctest program~volatile_doctest~1693->none~to_number program~volatile_doctest~1694 volatile_doctest program~volatile_doctest~1694->none~to_number program~volatile_doctest~1699 volatile_doctest program~volatile_doctest~1699->none~to_number program~volatile_doctest~1704 volatile_doctest program~volatile_doctest~1704->none~to_number program~volatile_doctest~1734 volatile_doctest program~volatile_doctest~1734->none~to_number program~volatile_doctest~1752 volatile_doctest program~volatile_doctest~1752->none~to_number program~volatile_doctest~1777 volatile_doctest program~volatile_doctest~1777->none~to_number program~volatile_doctest~1834 volatile_doctest program~volatile_doctest~1834->none~to_number program~volatile_doctest~1908 volatile_doctest program~volatile_doctest~1908->none~to_number program~volatile_doctest~196 volatile_doctest program~volatile_doctest~196->none~to_number program~volatile_doctest~349 volatile_doctest program~volatile_doctest~349->none~to_number program~volatile_doctest~36 volatile_doctest program~volatile_doctest~36->none~to_number program~volatile_doctest~366 volatile_doctest program~volatile_doctest~366->none~to_number program~volatile_doctest~410 volatile_doctest program~volatile_doctest~410->none~to_number program~volatile_doctest~713 volatile_doctest program~volatile_doctest~713->none~to_number program~volatile_doctest~783 volatile_doctest program~volatile_doctest~783->none~to_number program~volatile_doctest~972 volatile_doctest program~volatile_doctest~972->none~to_number

Source Code

   elemental function to_integer_I4P(self, kind) result(to_number)
   !< Cast string to integer (I4P).
   !<
   !<```fortran
   !< use penf
   !< type(string) :: astring
   !< integer(I4P) :: integer_
   !< logical      :: test_passed(1)
   !< astring = '127'
   !< integer_ = astring%to_number(kind=1_I4P)
   !< test_passed(1) = integer_==127_I4P
   !< print '(L1)', all(test_passed)
   !<```
   !=> T <<<
   class(string), intent(in) :: self      !< The string.
   integer(I4P),  intent(in) :: kind      !< Mold parameter for kind detection.
   integer(I4P)              :: to_number !< The number into the string.

   if (allocated(self%raw)) then
     if (self%is_integer()) read(self%raw, *) to_number
   endif
   endfunction to_integer_I4P