Amesos2 - Direct Sparse Solver Interfaces  Version of the Day
Static Public Attributes | List of all members
Amesos2::solver_supports_scalar< ConcreteSolver, Scalar > Struct Template Reference

Check whether a solver supports a scalar type. More...

#include <Amesos2_SolverTraits.hpp>

Static Public Attributes

static const bool value
 

Detailed Description

template<template< class, class > class ConcreteSolver, typename Scalar>
struct Amesos2::solver_supports_scalar< ConcreteSolver, Scalar >

Check whether a solver supports a scalar type.

A meta-function for checking a solver's support for a scalar. The special-case is a Meta::nil_t list, which we are going to interpret as the solver supporting any and all types. If a solver's supported_scalars type-list is nil, this meta-function returns true always. Otherwise, it checks whether the given type is in the solver's supported_scalars list.

Member Data Documentation

template<template< class, class > class ConcreteSolver, typename Scalar >
const bool Amesos2::solver_supports_scalar< ConcreteSolver, Scalar >::value
static
Initial value:
=
Meta::if_then_else<Meta::is_same<typename solver_traits<ConcreteSolver>::supported_scalars, Meta::nil_t>::value,
Meta::true_type,
Meta::type_list_contains<
typename solver_traits<ConcreteSolver>::supported_scalars,
Scalar> >::type::value

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