46 #ifndef XPETRA_MAPEXTRACTOR_DECL_HPP_
47 #define XPETRA_MAPEXTRACTOR_DECL_HPP_
53 #include <Teuchos_RCP.hpp>
54 #include <Teuchos_Describable.hpp>
68 #ifndef DOXYGEN_SHOULD_SKIP_THIS
70 template<
class S,
class LO,
class GO,
class N>
class BlockedMultiVector;
74 template<
class LO,
class GO,
class N>
class BlockedMap;
79 template <
class Scalar,
93 #undef XPETRA_MAPEXTRACTOR_SHORT
110 MapExtractor(
const RCP<const Map>& fullmap,
const std::vector<RCP<const Map> >& maps,
bool bThyraMode =
false);
114 MapExtractor(
const std::vector<RCP<const Map> >& maps,
const std::vector<RCP<const Map> >& thyramaps);
138 void ExtractVector(RCP<const Vector>& full,
size_t block, RCP< Vector>& partial)
const;
139 void ExtractVector(RCP< Vector>& full,
size_t block, RCP< Vector>& partial)
const;
140 void ExtractVector(RCP<const MultiVector>& full,
size_t block, RCP<MultiVector>& partial)
const;
141 void ExtractVector(RCP< MultiVector>& full,
size_t block, RCP<MultiVector>& partial)
const;
143 RCP< Vector>
ExtractVector(RCP<const Vector>& full,
size_t block,
bool bThyraMode =
false)
const;
144 RCP< Vector>
ExtractVector(RCP< Vector>& full,
size_t block,
bool bThyraMode =
false)
const;
145 RCP<MultiVector>
ExtractVector(RCP<const MultiVector>& full,
size_t block,
bool bThyraMode =
false)
const;
146 RCP<MultiVector>
ExtractVector(RCP< MultiVector>& full,
size_t block,
bool bThyraMode =
false)
const;
157 void InsertVector(RCP<const Vector> partial,
size_t block, RCP< Vector> full,
bool bThyraMode =
false)
const;
158 void InsertVector(RCP< Vector> partial,
size_t block, RCP< Vector> full,
bool bThyraMode =
false)
const;
159 void InsertVector(RCP<const MultiVector> partial,
size_t block, RCP<MultiVector> full,
bool bThyraMode =
false)
const;
160 void InsertVector(RCP< MultiVector> partial,
size_t block, RCP<MultiVector> full,
bool bThyraMode =
false)
const;
166 RCP< Vector>
getVector(
size_t i,
bool bThyraMode =
false,
bool bZero=
true)
const;
167 RCP<MultiVector>
getVector(
size_t i,
size_t numvec,
bool bThyraMode =
false,
bool bZero =
true)
const;
182 const RCP<const Map>
getMap(
size_t i,
bool bThyraMode =
false)
const;
185 const RCP<const Map>
getMap()
const;
188 const RCP<const Xpetra::BlockedMap<LocalOrdinal,GlobalOrdinal,Node>>
getBlockedMap()
const;
199 Teuchos::RCP<const Xpetra::BlockedMap<LocalOrdinal,GlobalOrdinal,Node>>
map_;
205 #define XPETRA_MAPEXTRACTOR_SHORT