10 #ifndef XPETRA_MAPEXTRACTOR_DECL_HPP_
11 #define XPETRA_MAPEXTRACTOR_DECL_HPP_
17 #include <Teuchos_RCP.hpp>
18 #include <Teuchos_Describable.hpp>
32 #ifndef DOXYGEN_SHOULD_SKIP_THIS
34 template <
class S,
class LO,
class GO,
class N>
35 class BlockedMultiVector;
39 template <
class LO,
class GO,
class N>
43 template <
class Scalar,
55 #undef XPETRA_MAPEXTRACTOR_SHORT
71 MapExtractor(
const RCP<const Map>& fullmap,
const std::vector<RCP<const Map>>& maps,
bool bThyraMode =
false);
74 MapExtractor(
const std::vector<RCP<const Map>>& maps,
const std::vector<RCP<const Map>>& thyramaps);
94 void ExtractVector(RCP<const Vector>& full,
size_t block, RCP<Vector>& partial)
const;
95 void ExtractVector(RCP<Vector>& full,
size_t block, RCP<Vector>& partial)
const;
96 void ExtractVector(RCP<const MultiVector>& full,
size_t block, RCP<MultiVector>& partial)
const;
97 void ExtractVector(RCP<MultiVector>& full,
size_t block, RCP<MultiVector>& partial)
const;
99 RCP<Vector>
ExtractVector(RCP<const Vector>& full,
size_t block,
bool bThyraMode =
false)
const;
100 RCP<Vector>
ExtractVector(RCP<Vector>& full,
size_t block,
bool bThyraMode =
false)
const;
101 RCP<MultiVector>
ExtractVector(RCP<const MultiVector>& full,
size_t block,
bool bThyraMode =
false)
const;
102 RCP<MultiVector>
ExtractVector(RCP<MultiVector>& full,
size_t block,
bool bThyraMode =
false)
const;
113 void InsertVector(RCP<const Vector> partial,
size_t block, RCP<Vector> full,
bool bThyraMode =
false)
const;
114 void InsertVector(RCP<Vector> partial,
size_t block, RCP<Vector> full,
bool bThyraMode =
false)
const;
115 void InsertVector(RCP<const MultiVector> partial,
size_t block, RCP<MultiVector> full,
bool bThyraMode =
false)
const;
116 void InsertVector(RCP<MultiVector> partial,
size_t block, RCP<MultiVector> full,
bool bThyraMode =
false)
const;
122 RCP<Vector>
getVector(
size_t i,
bool bThyraMode =
false,
bool bZero =
true)
const;
123 RCP<MultiVector>
getVector(
size_t i,
size_t numvec,
bool bThyraMode =
false,
bool bZero =
true)
const;
138 const RCP<const Map>
getMap(
size_t i,
bool bThyraMode =
false)
const;
141 const RCP<const Map>
getMap()
const;
144 const RCP<const Xpetra::BlockedMap<LocalOrdinal, GlobalOrdinal, Node>>
getBlockedMap()
const;
156 Teuchos::RCP<const Xpetra::BlockedMap<LocalOrdinal, GlobalOrdinal, Node>>
map_;
161 #define XPETRA_MAPEXTRACTOR_SHORT