12#ifndef ARCANE_MESH_IITEMFAMILYEXCHANGER_H
13#define ARCANE_MESH_IITEMFAMILYEXCHANGER_H
17#include "arcane/utils/List.h"
18#include "arcane/utils/TraceAccessor.h"
20#include "arcane/VariableCollection.h"
22#include "arcane/mesh/MeshGlobal.h"
35class ParallelExchangerOptions;
86 virtual void computeExchangeItems() =0;
100 virtual void releaseBuffer() =0;
118 virtual void readAndAllocSubMeshItems() =0;
119 virtual void readAndAllocItemRelations() =0;
140 virtual void removeSentItems() =0;
virtual void setParallelExchangerOption(const ParallelExchangerOptions &options)=0
Positionne les options utilisées lors de l'échange des entités.
virtual void processExchange()=0
Envoie les messages d'échange.
virtual void prepareToSend()=0
Prépare les structures d'envoie.
virtual void readVariables()=0
Après réception des messages, lit les valeurs des variables.
virtual void readGroups()=0
Après réception des messages, lit les groupes.
virtual IItemFamily * itemFamily()=0
Famille associée.
virtual void finalizeExchange()=0
Termine l'échange.
virtual bool computeExchangeInfos()=0
Détermine les informations nécessaires pour les échanges.
virtual void setExchangeItems(ConstArrayView< std::set< Int32 > > items_to_send)=0
Positionne la liste des entités à échanger.
virtual void readAndAllocItems()=0
Après réception des messages, lit et créé les entités transférées.
Interface d'une famille d'entités.
Options pour IParallelMng::processExchange().
Vue constante d'un tableau de type T.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-