GET_TEAM — 팀 핸들 가져오기
GET_TEAM — 팀 핸들 가져오기
Fortran 2018의 팀(team) 기능을 쓸 때, 지금 속한 팀 또는 특정 팀의 핸들을 꺼내야 할 때가 있어요. 올바른 팀에 접근했는지 판단하려면 '지금 내가 어느 팀에 있지?'가 필요하죠. 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_ENV의 TEAM_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)으로 원래 팀을 다시 꺼내는 흐름이에요. 주석에 적힌 대로 curr은 init과 같고, par도 init과 같다는 걸 확인할 수 있어요.
표준(Standard)
Fortran 2018 이상이에요.
같이 보기
THIS_IMAGE — Function that returns the cosubscript index of this image, ISO_FORTRAN_ENV