42#ifndef __Teuchos_MatrixMarket_SymmetrizingGraphAdder_hpp
43#define __Teuchos_MatrixMarket_SymmetrizingGraphAdder_hpp
52#if ! defined(TRILINOS_UNUSED_FUNCTION)
53# if defined(__GNUC__) || (defined(__INTEL_COMPILER) && !defined(_MSC_VER))
54# define TRILINOS_UNUSED_FUNCTION __attribute__((__unused__))
55# elif defined(__clang__)
56# if __has_attribute(unused)
57# define TRILINOS_UNUSED_FUNCTION __attribute__((__unused__))
59# define TRILINOS_UNUSED_FUNCTION
61# elif defined(__IBMCPP__)
65# define TRILINOS_UNUSED_FUNCTION
67# define TRILINOS_UNUSED_FUNCTION
94 template<
class AdderType>
107 const std::string& symmType) :
109 symmetrize_ (needsSymmetrization (symmType)),
110 skew_ (isSkew (symmType))
118 AdderType& theAdder = *adder_;
121 if (symmetrize_ && i != j) {
130 theAdder (j, i,
false);
Defines basic traits for the scalar field type.
Definition of Teuchos::as, for conversions between types.
Adds entries with optional symmetry to a sparse graph.
void operator()(const index_type i, const index_type j)
Add entry (i,j), and optionally symmetrize.
SymmetrizingGraphAdder(const Teuchos::RCP< AdderType > &adder, const std::string &symmType)
Constructor.
AdderType::index_type index_type
The type of indices of the sparse graph.
Teuchos::RCP< AdderType > getAdder() const
Persisting non-const view of the underlying adder object.
Smart reference counting pointer class for automatic garbage collection.
Matrix Market file utilities.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...