D.7.7 Get_Locus_Overlapped_Vector Procedure

The main documentation of the Get_Locus_Overlapped_Vector Procedure contains additional explanation of this code listing.

  define([LOCUS_ROUTINE],[
    pushdef([Get_MANYORONE_Locus_OV], expand(Get_$1_Locus_OV))

    function Get_MANYORONE_Locus_OV (OV) result(Locus_OV)
  
      ! Input variable.
  
      type(Overlapped_Vector_type), intent(in) :: OV   ! Variable to be queried.
  
      ! Output variable.
  
      type(character,name_length) :: Locus_OV          ! Locus of OV.
  
      !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  
      ! Verify requirements.
  
      VERIFY(Valid_State(OV),5)      ! OV is valid.
  
      ! Set the value.
  
      Locus_OV = Locus(OV%$1_Structure)
  
      ! Verify guarantees - none.
  
      return
    end function Get_MANYORONE_Locus_OV

    popdef([Get_MANYORONE_Locus_OV])
  ])

  LOCUS_ROUTINE(Many)
  LOCUS_ROUTINE(One)



Michael L. Hall