dune-istl 2.12-git
Loading...
Searching...
No Matches
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
staticconstexpr

◆ isParallel

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

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