10#ifndef XPETRA_CONFIGDEFS_HPP
11#define XPETRA_CONFIGDEFS_HPP
27#ifdef PACKAGE_BUGREPORT
28#undef PACKAGE_BUGREPORT
49#include <Xpetra_config.hpp>
51#include <TpetraCore_config.h>
53#if defined(HAVE_XPETRA_TPETRA)
54#include <Tpetra_ConfigDefs.hpp>
67#ifdef HAVE_XPETRA_THROW_EFFICIENCY_WARNINGS
68#define XPETRA_THROWS_EFFICIENCY_WARNINGS 1
70#define XPETRA_THROWS_EFFICIENCY_WARNINGS 0
73#ifdef HAVE_XPETRA_PRINT_EFFICIENCY_WARNINGS
74#define XPETRA_PRINTS_EFFICIENCY_WARNINGS 1
76#define XPETRA_PRINTS_EFFICIENCY_WARNINGS 0
79#ifdef HAVE_XPETRA_THROW_ABUSE_WARNINGS
80#define XPETRA_THROWS_ABUSE_WARNINGS 1
82#define XPETRA_THROWS_ABUSE_WARNINGS 0
85#ifdef HAVE_XPETRA_PRINT_ABUSE_WARNINGS
86#define XPETRA_PRINTS_ABUSE_WARNINGS 1
88#define XPETRA_PRINTS_ABUSE_WARNINGS 0
91#ifdef HAVE_XPETRA_PROFILING
94#define XPETRA_MONITOR(funcName) Teuchos::TimeMonitor(*Teuchos::TimeMonitor::getNewTimer(std::string("Xpetra: ") + funcName));
96#define XPETRA_MONITOR(funcName)
103#ifdef HAVE_XPETRA_DEBUG
104#define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) \
105 TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg);
107#define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
113#include <Teuchos_ArrayView.hpp>
114#include <Teuchos_ArrayRCP.hpp>
121#include <Teuchos_NullIteratorTraits.hpp>
124#include <Teuchos_Comm.hpp>
125#include <Teuchos_CommHelpers.hpp>
193using Teuchos::arcp_reinterpret_cast;
194using Teuchos::av_reinterpret_cast;
195using Teuchos::outArg;
197using Teuchos::rcpFromRef;
203using Teuchos::parameterList;
204using Teuchos::sublist;
208template <
class Arg1,
class Arg2>
214 inline Arg1
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg1; }
217template <
class Arg1,
class Arg2>
223 inline Arg2
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg2; }
232#define XPETRA_ERR_CHECK(arg) \
236 std::cout << "r = " << r << std::endl; \
242#include "Teuchos_CompilerCodeTweakMacros.hpp"
Arg1 operator()(const Arg1 &arg1, const Arg2 &arg2)
Arg2 second_argument_type
Arg2 operator()(const Arg1 &arg1, const Arg2 &arg2)
Arg2 second_argument_type
std::string typeName(const T &t)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Namespace for Xpetra example classes and methods.
size_t global_size_t
Global size_t object.
Teuchos_Ordinal Array_size_type
Size type for Teuchos Array objects.
CombineMode
Xpetra::Combine Mode enumerable type.