dune-istl  2.11
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
Dune::OperatorTraits< Operator > Struct Template Reference

#include <dune/istl/solverfactory.hh>

Public Types

using domain_type = typename Operator::domain_type
 
using range_type = typename Operator::range_type
 
using operator_type = Operator
 
using solver_type = InverseOperator< domain_type, range_type >
 
using matrix_type = Std::detected_or_t< int, _matrix_type, Operator >
 
using comm_type = Std::detected_or_t< int, _comm_type, Operator >
 

Static Public Member Functions

static const std::shared_ptr< AssembledLinearOperator< matrix_type, domain_type, range_type > > getAssembledOpOrThrow (std::shared_ptr< LinearOperator< domain_type, range_type >> op)
 
static const comm_typegetCommOrThrow (std::shared_ptr< LinearOperator< domain_type, range_type >> op)
 
static std::shared_ptr< ScalarProduct< domain_type > > getScalarProduct (std::shared_ptr< LinearOperator< domain_type, range_type >> op)
 

Static Public Attributes

static constexpr bool isAssembled = !std::is_same<matrix_type, int>::value
 
static constexpr bool isParallel = !std::is_same<comm_type, int>::value
 

Member Typedef Documentation

◆ comm_type

template<class Operator>
using Dune::OperatorTraits< Operator >::comm_type = Std::detected_or_t<int, _comm_type, Operator>

◆ domain_type

template<class Operator>
using Dune::OperatorTraits< Operator >::domain_type = typename Operator::domain_type

◆ matrix_type

template<class Operator>
using Dune::OperatorTraits< Operator >::matrix_type = Std::detected_or_t<int, _matrix_type, Operator>

◆ operator_type

template<class Operator>
using Dune::OperatorTraits< Operator >::operator_type = Operator

◆ range_type

template<class Operator>
using Dune::OperatorTraits< Operator >::range_type = typename Operator::range_type

◆ solver_type

template<class Operator>
using Dune::OperatorTraits< Operator >::solver_type = InverseOperator<domain_type, range_type>

Member Function Documentation

◆ getAssembledOpOrThrow()

template<class Operator>
static const std::shared_ptr<AssembledLinearOperator<matrix_type, domain_type, range_type> > Dune::OperatorTraits< Operator >::getAssembledOpOrThrow ( std::shared_ptr< LinearOperator< domain_type, range_type >>  op)
inlinestatic

◆ getCommOrThrow()

template<class Operator>
static const comm_type& Dune::OperatorTraits< Operator >::getCommOrThrow ( std::shared_ptr< LinearOperator< domain_type, range_type >>  op)
inlinestatic

◆ getScalarProduct()

template<class Operator>
static std::shared_ptr<ScalarProduct<domain_type> > Dune::OperatorTraits< Operator >::getScalarProduct ( std::shared_ptr< LinearOperator< domain_type, range_type >>  op)
inlinestatic

Member Data Documentation

◆ isAssembled

template<class Operator>
constexpr bool Dune::OperatorTraits< Operator >::isAssembled = !std::is_same<matrix_type, int>::value
static

◆ isParallel

template<class Operator>
constexpr bool Dune::OperatorTraits< Operator >::isParallel = !std::is_same<comm_type, int>::value
static

The documentation for this struct was generated from the following file: