The main documentation of the Get_Values_Mathematic_Vector Procedure contains additional explanation of this code listing.
subroutine Get_Values_Mathematic_Vector (Values, MV) ! Input variable. type(Mathematic_Vector_type), intent(in) :: MV ! Variable to be queried. ! Input/Output variable. type(real,1,np), intent(inout) :: Values ! Values bare naked vector. !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ! Verify requirements. VERIFY(Valid_State(MV),5) ! MV is valid. VERIFY(Valid_State_NP(Values),5) ! Values is valid. VERIFY(SIZE(Values) == Length_PE(MV%Structure),5) ! Values size check. ! Get the values. Values = MV%Values ! Verify guarantees. VERIFY(Valid_State(MV),5) ! MV is still valid. return end subroutine Get_Values_Mathematic_Vector