2.7.2.8 copyprivate
Copyprivate klauzule poskytuje mechanismus pro vysílání hodnotu z jednoho člena týmu k ostatním členům pomocí soukromé proměnné.Je alternativou k používání sdílené proměnné hodnoty při poskytování sdílené proměnné by bylo obtížné (například v rekurzi, vyžadující různé proměnné na každé úrovni).Copyprivate klauzule může objevit pouze na jednu směrnice.
Syntaxe copyprivate klauzule je takto:
copyprivate(variable-list)
Účinek copyprivate klauzule proměnných v jeho seznamu proměnné dojde po spuštění strukturované bloku přidružené jednu konstrukce, a před všechny podprocesy v týmu opustily bariéry na konci konstruktu.Potom všechny podprocesy v týmu pro každou proměnnou v seznamu proměnné, tato proměnná se stane definované (jako přiřazení) s hodnotou odpovídající proměnné v podprocesu, který provedeny konstrukci strukturované bloku.
Omezení copyprivate klauzule jsou následující:
Proměnná, která je určena v copyprivate klauzule nesmějí objevit v soukromé nebo firstprivate klauzule pro stejné jeden směrnice.
Pokud jeden směrnice s copyprivate klauzule vyskytne dynamického rozsahu paralelní regionu, všechny proměnné uvedené v copyprivate doložka musí být soukromé v ohraničujícím kontextu.
Proměnná, která je určena v copyprivate doložka musí být přístupné jednoznačné kopie operátor přiřazení.