RFFGen
 All Classes Namespaces Files Functions Typedefs Enumerations Groups
Namespaces | Functions
staticChecks.hh File Reference

Static checks for detection of presence of different operators and functions. More...

#include <type_traits>
#include <utility>
#include "../LinearAlgebra/extractRowsAndCols.hh"
#include "base.hh"
#include "voider.hh"

Go to the source code of this file.

Namespaces

 RFFGen
 Main namespace of the RFFGen library.
 

Functions

template<class Arg , class ScalarArg >
constexpr bool RFFGen::Checks::multiplicationWithArithmeticFromLeft ()
 Check if objects of type Arg support multiplication with objects of type ScalarArg from the left.
 
template<class Arg , class ScalarArg >
constexpr bool RFFGen::Checks::multiplicationWithArithmeticFromRight ()
 Check if objects of type Arg support multiplication with objects of type ScalarArg from the right.
 
template<class Arg , class ScalarArg >
constexpr bool RFFGen::Checks::inPlaceMultiplicationWithArithmetic ()
 Check if objects of type Arg support in-place multiplication with objects of type ScalarArg.
 
template<class Arg1 , class Arg2 >
constexpr bool RFFGen::Checks::multiplication ()
 Check if objects of typed Arg1 and Arg2 support multiplication (free operator*).
 
template<class Arg1 , class Arg2 >
constexpr bool RFFGen::Checks::inPlaceMultiplication ()
 Check if objects of type Arg1 support in-place multiplication with objects of type Arg2.
 
template<class Arg1 , class Arg2 >
constexpr bool RFFGen::Checks::callToRightMultiply ()
 Check if objects of type Arg1 support multiplication with objects of type Arg2 via call to rightmultiplyany(Arg2).
 
template<class Arg >
constexpr bool RFFGen::Checks::summation ()
 Check if objects of type Arg support summation.
 
template<class Arg >
constexpr bool RFFGen::Checks::inPlaceSummation ()
 Check if objects of type Arg support in-place summation.
 
template<class Arg >
constexpr bool RFFGen::Checks::isConstantSizeMatrix ()
 Check if object is a static matrix for some type satisfying Concepts::MatrixConcept. More...
 
template<class Arg >
constexpr bool RFFGen::Checks::isStaticVector ()
 Check if object is a static vector for some type satisfying Concepts::VectorConcept. More...
 
template<class Arg >
constexpr bool RFFGen::Checks::accessViaSquareBrackets ()
 Check if objects of type Arg support access to its entries via square brackets, i.e. via A[i][j] for matrices or v[i] for vectors.
 
template<class Arg >
constexpr bool RFFGen::Checks::accessViaRoundBrackets ()
 Check if objects of type Matrix support access to its entries via round brackets, i.e. via A(i,j).
 
template<class F >
constexpr bool RFFGen::Checks::hasUpdateFunction ()
 Check if object of type F has a member function update().
 
template<class F >
constexpr bool RFFGen::Checks::hasUpdateVariableFunction ()
 Check if object of type F has a member function updateVariable().
 

Detailed Description

Static checks for detection of presence of different operators and functions.