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#include <Tpetra_ConfigDefs.hpp>
65#ifdef HAVE_XPETRA_THROW_EFFICIENCY_WARNINGS
66#define XPETRA_THROWS_EFFICIENCY_WARNINGS 1
68#define XPETRA_THROWS_EFFICIENCY_WARNINGS 0
71#ifdef HAVE_XPETRA_PRINT_EFFICIENCY_WARNINGS
72#define XPETRA_PRINTS_EFFICIENCY_WARNINGS 1
74#define XPETRA_PRINTS_EFFICIENCY_WARNINGS 0
77#ifdef HAVE_XPETRA_THROW_ABUSE_WARNINGS
78#define XPETRA_THROWS_ABUSE_WARNINGS 1
80#define XPETRA_THROWS_ABUSE_WARNINGS 0
83#ifdef HAVE_XPETRA_PRINT_ABUSE_WARNINGS
84#define XPETRA_PRINTS_ABUSE_WARNINGS 1
86#define XPETRA_PRINTS_ABUSE_WARNINGS 0
89#ifdef HAVE_XPETRA_PROFILING
92#define XPETRA_MONITOR(funcName) Teuchos::TimeMonitor(*Teuchos::TimeMonitor::getNewTimer(std::string("Xpetra: ") + funcName));
94#define XPETRA_MONITOR(funcName)
101#ifdef HAVE_XPETRA_DEBUG
102#define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) \
103 TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg);
105#define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
111#include <Teuchos_ArrayView.hpp>
112#include <Teuchos_ArrayRCP.hpp>
119#include <Teuchos_NullIteratorTraits.hpp>
122#include <Teuchos_Comm.hpp>
123#include <Teuchos_CommHelpers.hpp>
191using Teuchos::arcp_reinterpret_cast;
192using Teuchos::av_reinterpret_cast;
193using Teuchos::outArg;
195using Teuchos::rcpFromRef;
201using Teuchos::parameterList;
202using Teuchos::sublist;
206template <
class Arg1,
class Arg2>
212 inline Arg1
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg1; }
215template <
class Arg1,
class Arg2>
221 inline Arg2
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg2; }
230#define XPETRA_ERR_CHECK(arg) \
234 std::cout << "r = " << r << std::endl; \
240#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.