MueLu  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
MueLu_ConfigDefs.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // MueLu: A package for multigrid based preconditioning
4 //
5 // Copyright 2012 NTESS and the MueLu contributors.
6 // SPDX-License-Identifier: BSD-3-Clause
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef MUELU_CONFIGDEFS_HPP
11 #define MUELU_CONFIGDEFS_HPP
12 
13 #include "MueLu_config.hpp"
14 
15 #include <Teuchos_ConfigDefs.hpp>
16 
17 // Tpetra
18 #include <Tpetra_KokkosCompat_DefaultNode.hpp> // default template parameter of many MueLu classes
19 
20 // Memory management
21 #include <Teuchos_Array.hpp>
22 #include <Teuchos_ArrayView.hpp>
23 #include <Teuchos_ArrayRCP.hpp>
24 #include <Teuchos_RCP.hpp>
25 
26 // Verbose levels
27 #include <Teuchos_Describable.hpp>
28 
29 // Misc
31 
32 // Default S,L,G,N types, for use as default template arguments
33 // Available as MueLu::DefaultScalar, MueLu::DefaultLocalOrdinal, etc.
35 
36 // Special macro for exception testing
37 // MUELU_TEST_FOR_EXCEPTION is only active if MueLu is configured with MueLu_ENABLE_DEBUG:BOOL=ON
38 // If you want an exception test both in the release and debug version of MueLu you still can use directly
39 // TEUCHOS_TEST_FOR_EXCEPTION
40 #ifdef HAVE_MUELU_DEBUG
41 #define MUELU_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) \
42  TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg);
43 #else
44 #define MUELU_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
45 #endif
46 
48 namespace MueLu {
49 
50 // import Teuchos memory management classes into MueLu
51 using Teuchos::arcp;
52 using Teuchos::arcp_reinterpret_cast;
53 using Teuchos::arcpFromArrayView;
54 using Teuchos::Array;
55 using Teuchos::ArrayRCP;
56 using Teuchos::ArrayView;
57 using Teuchos::as;
58 using Teuchos::null;
60 using Teuchos::rcp;
61 using Teuchos::RCP;
62 using Teuchos::rcp_const_cast;
63 using Teuchos::rcp_dynamic_cast;
64 using Teuchos::rcp_implicit_cast;
65 using Teuchos::rcp_static_cast;
66 using Teuchos::rcpFromRef;
67 
68 // verbose levels
71 using Teuchos::VERB_HIGH;
72 using Teuchos::VERB_LOW;
74 using Teuchos::VERB_NONE;
75 
76 } // namespace MueLu
77 
78 // This include file defines macros to avoid warnings under CUDA. See github issue #1133.
79 #include "Teuchos_CompilerCodeTweakMacros.hpp"
80 
81 #endif /* MUELU_CONFIGDEFS_H */
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
TypeTo as(const TypeFrom &t)