This procedure registers given segment_t value to segment_t type array, increments counter of the actual size of the array, and initializes temporary variable.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(segment_t), | intent(inout) | :: | segment_list(:) | |||
| type(segment_t), | intent(inout) | :: | segment | |||
| integer, | intent(inout) | :: | k | |||
| integer, | intent(inout) | :: | ierr |
pure subroutine register_segment_to_list(segment_list, segment, k, ierr) use :: forgex_parameters_m, only: SEGMENT_REGISTERED, SEGMENT_REJECTED implicit none type(segment_t), intent(inout) :: segment_list(:) type(segment_t), intent(inout) :: segment integer, intent(inout) :: k integer, intent(inout) :: ierr if (segment%validate() .and. k <= size(segment_list)-1) then k = k + 1 segment_list(k) = segment ! register ierr = SEGMENT_REGISTERED else ierr = SEGMENT_REJECTED end if end subroutine register_segment_to_list