GET_TEAM — 팀 핸들 가져오기

GET_TEAM — 팀 핸들 가져오기

Fortran 2018의 팀(team) 기능을 쓸 때, 지금 속한 팀 또는 특정 팀의 핸들을 꺼내야 할 때가 있어요. 올바른 팀에 접근했는지 판단하려면 '지금 내가 어느 팀에 있지?'가 필요하죠. GET_TEAM은 현재 팀, 또는 지정된 팀의 핸들을 돌려주는 내장 함수예요.

출처: gfortran 공식 문서 - GET_TEAM

본문

RESULT = GET_TEAM([LEVEL])

설명(Description)

LEVEL이 주어지지 않으면 현재 팀의 핸들을 돌려줘요. 또는 LEVEL이 지정한 팀을 돌려줘요. 여기서 LEVEL은 내장 모듈 ISO_FORTRAN_ENV의 상수인 INITIAL_TEAM, PARENT_TEAM, CURRENT_TEAM 중 하나예요. 초기 팀에 있으면서 PARENT_TEAM으로 호출하면 초기 팀의 핸들을 돌려줘요. 팀 핸들은 유효성을 검사하거나 서로 비교하거나 null과 비교할 수 없기 때문에, 이렇게 하면 항상 유효한 팀이 반환되도록 보장하는 거예요.

분류(Class)

변환 함수(Transformational function)

반환값(Return value)

내장 모듈 ISO_FORTRAN_ENVTEAM_TYPE인 불투명(opaque) 핸들이에요.

예제

program info
  use, intrinsic :: iso_fortran_env
  type(team_type) :: init, curr, par, nt

  init = get_team()
  curr = get_team(current_team) ! init equals curr here
  form team(1, nt)
  change team(nt)
    curr = get_team() ! or get_team(current_team)
    par = get_team(parent_team) ! par equals init here
  end team
end program info

팀 내부로 들어가기 전에 init에 처음 팀 핸들을 담아 두고, 새 팀 nt로 바꾼 뒤 get_team(parent_team)으로 원래 팀을 다시 꺼내는 흐름이에요. 주석에 적힌 대로 currinit과 같고, parinit과 같다는 걸 확인할 수 있어요.

표준(Standard)

Fortran 2018 이상이에요.

같이 보기

THIS_IMAGE — Function that returns the cosubscript index of this image, ISO_FORTRAN_ENV