#include "local_view.hpp" #include "element.hpp" #include "array_new.hpp" #include "remote_connector.hpp" namespace xios { CLocalView::CLocalView(CLocalElement* parent, CElementView::type type, const CArray& indexView) : CDistributedView( parent, type, {{ parent->localRank_, indexView }} ), localRank_(parent->localRank_), globalIndex_(parent->globalIndex_), size_(CDistributedView::size_[parent->localRank_]), index_(CDistributedView::index_[parent->localRank_]), localSize_(CDistributedView::localSize_[parent->localRank_]) { } CLocalView::CLocalView(CLocalElement* parent, CElementView::type type, const CArray& maskView) : CDistributedView( parent, type, {{ parent->localRank_, maskView }} ), localRank_(parent->localRank_), globalIndex_(parent->globalIndex_), size_(CDistributedView::size_[parent->localRank_]), index_(CDistributedView::index_[parent->localRank_]), localSize_(CDistributedView::localSize_[parent->localRank_]) { } void CLocalView::sendRemoteElement(CRemoteConnector& connector, CContextClient* client, CEventClient& event, const CMessage& messageHeader) { int n = index_.numElements() ; int nglo=globalIndex_.numElements() ; CArray ind(n) ; for(int i=0; i=0 && index_(i)