Xpetra
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
Xpetra_ExportFactory.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Xpetra: A linear algebra interface package
4
//
5
// Copyright 2012 NTESS and the Xpetra contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef XPETRA_EXPORTFACTORY_HPP
11
#define XPETRA_EXPORTFACTORY_HPP
12
13
#include "
Xpetra_ConfigDefs.hpp
"
14
15
#include "
Xpetra_Export.hpp
"
16
17
#include "Xpetra_TpetraExport.hpp"
18
19
#include "
Xpetra_Exceptions.hpp
"
20
21
namespace
Xpetra
{
22
23
template
<
class
LocalOrdinal,
24
class
GlobalOrdinal,
25
class
Node = Tpetra::KokkosClassic::DefaultNode::DefaultNodeType>
26
class
ExportFactory
{
27
private
:
29
ExportFactory
() {}
30
31
public
:
33
static
RCP<Export<LocalOrdinal, GlobalOrdinal, Node>
>
Build
(
const
RCP
<
const
Map<LocalOrdinal, GlobalOrdinal, Node>
> &source,
const
RCP
<
const
Map<LocalOrdinal, GlobalOrdinal, Node>
> &target) {
34
XPETRA_MONITOR
(
"ExportFactory::Build"
);
35
TEUCHOS_TEST_FOR_EXCEPTION
(source->lib() != target->lib(),
Xpetra::Exceptions::RuntimeError
,
""
);
36
37
if
(source->lib() ==
UseTpetra
)
38
return
rcp
(
new
TpetraExport<LocalOrdinal, GlobalOrdinal, Node>
(source, target));
39
40
XPETRA_FACTORY_END
;
41
}
42
};
43
44
}
// namespace Xpetra
45
46
#define XPETRA_EXPORTFACTORY_SHORT
47
#endif
XPETRA_MONITOR
#define XPETRA_MONITOR(funcName)
Xpetra_ConfigDefs.hpp
Xpetra_Exceptions.hpp
XPETRA_FACTORY_END
#define XPETRA_FACTORY_END
Definition
Xpetra_Exceptions.hpp:33
Xpetra_Export.hpp
Teuchos::RCP
Xpetra::Exceptions::RuntimeError
Exception throws to report errors in the internal logical of the program.
Definition
Xpetra_Exceptions.hpp:57
Xpetra::ExportFactory::Build
static RCP< Export< LocalOrdinal, GlobalOrdinal, Node > > Build(const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &source, const RCP< const Map< LocalOrdinal, GlobalOrdinal, Node > > &target)
Constructor specifying the number of non-zeros for all rows.
Definition
Xpetra_ExportFactory.hpp:33
Xpetra::ExportFactory::ExportFactory
ExportFactory()
Private constructor. This is a static class.
Definition
Xpetra_ExportFactory.hpp:29
Xpetra::Map
Definition
Xpetra_Map_decl.hpp:35
Xpetra::TpetraExport
Definition
Xpetra_TpetraExport_decl.hpp:39
TEUCHOS_TEST_FOR_EXCEPTION
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Xpetra
Xpetra namespace
Definition
Xpetra_BlockedCrsMatrix_decl.hpp:52
Xpetra::rcp
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Xpetra::UseTpetra
@ UseTpetra
Definition
Xpetra_Map_decl.hpp:27
src
Export
Xpetra_ExportFactory.hpp
Generated by
1.17.0