//============================================================================= int Epetra_DistObject::Export(const Epetra_SrcDistObject& A, const Epetra_Import& Importer, Epetra_CombineMode CombineMode, const Epetra_OffsetIndex * Indexor) { if (!Map_.SameAs(Importer.SourceMap())) EPETRA_CHK_ERR(-2); if (!A.Map().SameAs(Importer.TargetMap())) EPETRA_CHK_ERR(-3); int NumSameIDs = Importer.NumSameIDs(); int NumPermuteIDs = Importer.NumPermuteIDs(); int NumRemoteIDs = Importer.NumExportIDs(); int NumExportIDs = Importer.NumRemoteIDs(); int* ExportLIDs = Importer.RemoteLIDs(); int* RemoteLIDs = Importer.ExportLIDs(); int* PermuteToLIDs = Importer.PermuteFromLIDs(); int* PermuteFromLIDs = Importer.PermuteToLIDs(); EPETRA_CHK_ERR(DoTransfer(A, CombineMode, NumSameIDs, NumPermuteIDs, NumRemoteIDs, NumExportIDs, PermuteToLIDs, PermuteFromLIDs, RemoteLIDs, ExportLIDs, LenImports_, Imports_, LenExports_, Exports_, Importer.Distributor(), true, Indexor)); return(0); }