### 8.256 `VERIFY` — Scan a string for characters not a given set

Description:
  Verifies that all the characters in STRING belong to the set of characters in SET.

  If BACK is either absent or equals `FALSE`, this function returns the position of the leftmost character of STRING that is not in SET. If BACK equals `TRUE`, the rightmost position is returned. If all characters of STRING are found in SET, the result is zero.

Standard:
  Fortran 95 and later, with KIND argument Fortran 2003 and later
Class:
  Elemental function
Syntax:
  `RESULT = VERIFY(STRING, SET[, BACK [, KIND]])`
Arguments:

  STRING | Shall be of type `CHARACTER`.
  SET | Shall be of type `CHARACTER`.
  BACK | (Optional) shall be of type `LOGICAL`.
  KIND | (Optional) An `INTEGER` initialization expression indicating the kind parameter of the result.

Return value:
  The return value is of type `INTEGER` and of kind KIND. If KIND is absent, the return value is of default integer kind.
Example:

                PROGRAM test_verify
                  WRITE(*,*) VERIFY("FORTRAN", "AO")           ! 1, found 'F'
                  WRITE(*,*) VERIFY("FORTRAN", "FOO")          ! 3, found 'R'
                  WRITE(*,*) VERIFY("FORTRAN", "C++")          ! 1, found 'F'
                  WRITE(*,*) VERIFY("FORTRAN", "C++", .TRUE.)  ! 7, found 'N'
                  WRITE(*,*) VERIFY("FORTRAN", "FORTRAN")      ! 0' found none
                END PROGRAM

See also:
  SCAN, INDEX intrinsic