10 #ifndef XPETRA_STRIDEDMAPFACTORY_DECL_HPP
11 #define XPETRA_STRIDEDMAPFACTORY_DECL_HPP
13 #include <Tpetra_KokkosCompat_DefaultNode.hpp>
29 template <
class LocalOrdinal,
31 class Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
33 #undef XPETRA_STRIDEDMAPFACTORY_SHORT
42 static RCP<Xpetra::StridedMap<LocalOrdinal, GlobalOrdinal, Node>>
45 GlobalOrdinal indexBase,
46 std::vector<size_t>& stridingInfo,
47 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm,
48 LocalOrdinal stridedBlockId = -1,
49 GlobalOrdinal offset = 0,
53 static RCP<StridedMap>
56 size_t numLocalElements,
57 GlobalOrdinal indexBase,
58 std::vector<size_t>& stridingInfo,
59 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm,
60 LocalOrdinal stridedBlockId = -1,
61 GlobalOrdinal offset = 0);
64 static RCP<StridedMap>
65 Build(
const RCP<const Map>& map, std::vector<size_t>& stridingInfo, LocalOrdinal stridedBlockId = -1, GlobalOrdinal offset = 0);
68 static RCP<StridedMap>
69 Build(
const RCP<const StridedMap>& map, LocalOrdinal stridedBlockId);
72 static RCP<StridedMap>
80 static RCP<StridedMap>
83 const Teuchos::ArrayView<const GlobalOrdinal>& elementList,
84 GlobalOrdinal indexBase,
85 std::vector<size_t>& stridingInfo,
86 const Teuchos::RCP<
const Teuchos::Comm<int>>& comm,
87 LocalOrdinal stridedBlockId = -1,
94 #define XPETRA_STRIDEDMAPFACTORY_SHORT
95 #endif // XPETRA_STRIDEDMAPFACTORY_DECL_HPP
This factory creates a Xpetra::StridedMap .
StridedMapFactory()=delete
Private constructor. This is a static class.
size_t global_size_t
Global size_t object.
static RCP< Xpetra::StridedMap< LocalOrdinal, GlobalOrdinal, Node > > Build(UnderlyingLib lib, global_size_t numGlobalElements, GlobalOrdinal indexBase, std::vector< size_t > &stridingInfo, const Teuchos::RCP< const Teuchos::Comm< int >> &comm, LocalOrdinal stridedBlockId=-1, GlobalOrdinal offset=0, LocalGlobal lg=Xpetra::GloballyDistributed)
Map constructor with Xpetra-defined contiguous uniform distribution.
Class that stores a strided map.