Epetra_Export.h

Go to the documentation of this file.
00001 
00002 //@HEADER
00003 /*
00004 ************************************************************************
00005 
00006               Epetra: Linear Algebra Services Package 
00007                 Copyright (2001) Sandia Corporation
00008 
00009 Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
00010 license for use of this work by or on behalf of the U.S. Government.
00011 
00012 This library is free software; you can redistribute it and/or modify
00013 it under the terms of the GNU Lesser General Public License as
00014 published by the Free Software Foundation; either version 2.1 of the
00015 License, or (at your option) any later version.
00016  
00017 This library is distributed in the hope that it will be useful, but
00018 WITHOUT ANY WARRANTY; without even the implied warranty of
00019 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00020 Lesser General Public License for more details.
00021  
00022 You should have received a copy of the GNU Lesser General Public
00023 License along with this library; if not, write to the Free Software
00024 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
00025 USA
00026 Questions? Contact Michael A. Heroux (maherou@sandia.gov) 
00027 
00028 ************************************************************************
00029 */
00030 //@HEADER
00031 
00032 #ifndef EPETRA_EXPORT_H
00033 #define EPETRA_EXPORT_H
00034 
00035 #include "Epetra_Object.h"
00036 #include "Epetra_BlockMap.h"
00037 
00038 class Epetra_Distributor;
00039 
00041 
00050 class Epetra_Export: public Epetra_Object {
00051     
00052   public:
00053 
00055 
00219   Epetra_Export( const Epetra_BlockMap & SourceMap, const Epetra_BlockMap & TargetMap );
00220   
00222   Epetra_Export(const Epetra_Export& Exporter);
00223   
00225   
00226   virtual ~Epetra_Export(void);
00228   int NumSameIDs() const {return(NumSameIDs_);};
00229 
00231   int NumPermuteIDs() const {return(NumPermuteIDs_);};
00232 
00234   int * PermuteFromLIDs () const {return(PermuteFromLIDs_);};
00236   int * PermuteToLIDs () const {return(PermuteToLIDs_);};
00237 
00239   int NumRemoteIDs() const {return(NumRemoteIDs_);};
00240   
00242   int * RemoteLIDs() const {return(RemoteLIDs_);};
00243 
00245   int  NumExportIDs () const {return(NumExportIDs_);};
00246 
00248   int * ExportLIDs () const {return(ExportLIDs_);};
00249 
00251   int * ExportPIDs () const {return(ExportPIDs_);};
00252 
00254   int NumSend() const {return(NumSend_);};
00255 
00257   int NumRecv() const {return(NumRecv_);};
00258 
00260   const Epetra_BlockMap & SourceMap() const {return(SourceMap_);};
00261 
00263   const Epetra_BlockMap & TargetMap() const {return(TargetMap_);};
00264 
00265   Epetra_Distributor & Distributor() const {return(*Distor_);};
00266 
00268 
00269   virtual void Print(ostream & os) const;
00271  protected:
00272 
00273  friend class Epetra_BlockMap;
00274 
00275  private:
00276  Epetra_Export& operator=(const Epetra_Export& src);
00277 
00278   Epetra_BlockMap TargetMap_;
00279   Epetra_BlockMap SourceMap_;
00280 
00281   int  NumSameIDs_;
00282   int  NumPermuteIDs_;
00283   int * PermuteToLIDs_;
00284   int * PermuteFromLIDs_;
00285   int  NumRemoteIDs_;
00286   int * RemoteLIDs_;
00287 
00288   int  NumExportIDs_;
00289   int * ExportLIDs_;
00290   int * ExportPIDs_;
00291 
00292   int NumSend_;
00293   int NumRecv_;
00294 
00295   Epetra_Distributor * Distor_;
00296   
00297 
00298 };
00299 
00300 #endif /* EPETRA_EXPORT_H */

Generated on Thu Sep 18 12:37:57 2008 for Epetra Package Browser (Single Doxygen Collection) by doxygen 1.3.9.1