46 #ifndef XPETRA_CONFIGDEFS_HPP 47 #define XPETRA_CONFIGDEFS_HPP 51 #endif // ifndef __cplusplus 57 #endif // ifdef PACKAGE 61 #endif // ifdef PACKAGE_NAME 63 #ifdef PACKAGE_BUGREPORT 64 #undef PACKAGE_BUGREPORT 65 #endif // ifdef PACKAGE_BUGREPORT 69 #endif // ifdef PACKAGE_STRING 71 #ifdef PACKAGE_TARNAME 72 #undef PACKAGE_TARNAME 73 #endif // ifdef PACKAGE_TARNAME 75 #ifdef PACKAGE_VERSION 76 #undef PACKAGE_VERSION 77 #endif // ifdef PACKAGE_VERSION 81 #endif // ifdef VERSION 85 #include <Xpetra_config.hpp> 86 #include <Teuchos_ConfigDefs.hpp> 99 #ifdef HAVE_XPETRA_THROW_EFFICIENCY_WARNINGS 100 #define XPETRA_THROWS_EFFICIENCY_WARNINGS 1 102 #define XPETRA_THROWS_EFFICIENCY_WARNINGS 0 105 #ifdef HAVE_XPETRA_PRINT_EFFICIENCY_WARNINGS 106 #define XPETRA_PRINTS_EFFICIENCY_WARNINGS 1 108 #define XPETRA_PRINTS_EFFICIENCY_WARNINGS 0 111 #ifdef HAVE_XPETRA_THROW_ABUSE_WARNINGS 112 #define XPETRA_THROWS_ABUSE_WARNINGS 1 114 #define XPETRA_THROWS_ABUSE_WARNINGS 0 117 #ifdef HAVE_XPETRA_PRINT_ABUSE_WARNINGS 118 #define XPETRA_PRINTS_ABUSE_WARNINGS 1 120 #define XPETRA_PRINTS_ABUSE_WARNINGS 0 123 #ifdef HAVE_XPETRA_PROFILING 125 #include <Teuchos_TimeMonitor.hpp> 126 #define XPETRA_MONITOR(funcName) Teuchos::TimeMonitor(*Teuchos::TimeMonitor::getNewTimer(std::string("Xpetra: ") + funcName)); 128 #define XPETRA_MONITOR(funcName) 135 #ifdef HAVE_XPETRA_DEBUG 136 #define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) \ 137 TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg); 139 #define XPETRA_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg) 142 #include <functional> 145 #include <Teuchos_ArrayView.hpp> 146 #include <Teuchos_ArrayRCP.hpp> 147 #include <Teuchos_Array.hpp> 148 #include <Teuchos_RCP.hpp> 150 #include <Teuchos_OrdinalTraits.hpp> 151 #include <Teuchos_ScalarTraits.hpp> 152 #include <Teuchos_TypeNameTraits.hpp> 153 #include <Teuchos_NullIteratorTraits.hpp> 154 #include <Teuchos_SerializationTraits.hpp> 156 #include <Teuchos_Comm.hpp> 157 #include <Teuchos_CommHelpers.hpp> 159 #include <Teuchos_ParameterList.hpp> 221 using Teuchos::ArrayRCP;
222 using Teuchos::ArrayView;
223 using Teuchos::Array;
224 using Teuchos::OrdinalTraits;
225 using Teuchos::ScalarTraits;
230 using Teuchos::outArg;
231 using Teuchos::tuple;
234 using Teuchos::rcpFromRef;
235 using Teuchos::av_reinterpret_cast;
236 using Teuchos::arcp_reinterpret_cast;
238 using Teuchos::typeName;
240 using Teuchos::ParameterList;
241 using Teuchos::parameterList;
242 using Teuchos::sublist;
246 template <
class Arg1,
class Arg2>
247 class firstArg : std::binary_function<Arg1,Arg2,Arg1> {
252 inline Arg1
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg1;}
255 template <
class Arg1,
class Arg2>
256 class secondArg : std::binary_function<Arg1,Arg2,Arg2> {
261 inline Arg2
operator()(
const Arg1 &arg1,
const Arg2 &arg2) {
return arg2;}
271 #define XPETRA_ERR_CHECK(arg) { int r = arg; if (r < 0) { std::cout << "r = " << r << std::endl; assert(r>=0); }; }; // TODO: throw exceptions 273 #endif // XPETRA_CONFIGDEFS_HPP Arg1 operator()(const Arg1 &arg1, const Arg2 &arg2)
Namespace for Xpetra example classes and methods.
Arg2 operator()(const Arg1 &arg1, const Arg2 &arg2)
Arg2 second_argument_type
Arg2 second_argument_type
size_t global_size_t
Global size_t object.
CombineMode
Xpetra::Combine Mode enumerable type.
Teuchos_Ordinal Array_size_type
Size type for Teuchos Array objects.