00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef TPETRA_MAPDATA_DECL_HPP
00030 #define TPETRA_MAPDATA_DECL_HPP
00031
00032 #include <Teuchos_Object.hpp>
00033 #include "Tpetra_Directory.hpp"
00034
00035 namespace Tpetra {
00036
00037
00038
00039
00040
00041
00042 template <typename Ordinal>
00043 class MapData : public Teuchos::Object {
00044 friend class Map<Ordinal>;
00045
00046 public:
00049 MapData(Ordinal indexBase,
00050 Ordinal numGlobalEntries,
00051 Ordinal numMyEntries,
00052 Ordinal minAllGID,
00053 Ordinal maxAllGID,
00054 Ordinal minMyGID,
00055 Ordinal maxMyGID,
00056 const Teuchos::ArrayRCP<Ordinal> &lgMap,
00057 const std::map<Ordinal,Ordinal> &glMap,
00058 bool contiguous,
00059 Teuchos::RCP< Platform<Ordinal> > platform,
00060 Teuchos::RCP< Teuchos::Comm<Ordinal> > comm);
00061
00062 MapData(Ordinal indexBase,
00063 Ordinal numGlobalEntries,
00064 Ordinal numMyEntries,
00065 Ordinal minAllGID,
00066 Ordinal maxAllGID,
00067 Ordinal minMyGID,
00068 Ordinal maxMyGID,
00069 const Teuchos::ArrayRCP<Ordinal> &lgMap,
00070 const std::map<Ordinal,Ordinal> &glMap,
00071 bool contiguous,
00072 Teuchos::RCP< Platform<Ordinal> > platform,
00073 Teuchos::RCP< Teuchos::Comm<Ordinal> > comm,
00074 bool isLocal);
00075
00077 ~MapData();
00078
00079 private:
00080
00081
00082 Teuchos::RCP< const Platform<Ordinal> > platform_;
00083 Teuchos::RCP< Teuchos::Comm<Ordinal> > comm_;
00084 const Ordinal numGlobalEntries_;
00085 const Ordinal indexBase_;
00086 const Ordinal numMyEntries_;
00087 const Ordinal minMyGID_;
00088 const Ordinal maxMyGID_;
00089 const Ordinal minAllGID_;
00090 const Ordinal maxAllGID_;
00091 const bool contiguous_;
00092 const bool distributed_;
00093 Teuchos::ArrayRCP<Ordinal> lgMap_;
00094 std::map<Ordinal, Ordinal> glMap_;
00095 Teuchos::RCP< Directory<Ordinal> > directory_;
00096
00098 MapData(MapData<Ordinal> const& source);
00100 MapData<Ordinal>& operator = (MapData<Ordinal> const& source);
00101
00102 bool checkIsDist();
00103
00104 };
00105
00106 }
00107
00108 #endif // TPETRA_MAPDATA_DECL_HPP