2.7.2.8 copyprivate
O copyprivate cláusula fornece um mecanismo para usar uma variável particular para difundir um valor de um membro de uma equipe para os outros membros.É uma alternativa ao uso de uma variável compartilhada para o valor ao fornecer uma variável compartilhada seria difícil (por exemplo, em uma recursão exigindo uma variável diferente em cada nível).O copyprivate cláusula só pode aparecer à único diretiva.
A sintaxe do copyprivate cláusula é da seguinte maneira:
copyprivate(variable-list)
O efeito do copyprivate cláusula nas variáveis em sua lista de variável ocorre após a execução do bloco estruturado associado a único construir, e antes de qualquer um dos threads na equipe ter deixado a barreira no final da construção.Em seguida, em todos os outros segmentos da equipe, para cada variável no variável-list, essa variável se torna definida (como se por atribuição) com o valor da variável correspondente em uma thread que executou a bloco estruturada da construção.
Restrições para o copyprivate cláusula são os seguintes:
Uma variável que é especificada na copyprivate cláusula não deve aparecer em um particular ou firstprivate cláusula para o mesmo único diretiva.
Se um único diretiva com um copyprivate cláusula é encontrada na extensão dinâmica de uma região paralela, todas as variáveis especificadas na copyprivate cláusula deve ser particular no contexto de delimitador.
Uma variável que é especificada na copyprivate cláusula deve ter um operador de atribuição de cópia inequívoca acessível.