![]() |
Mackey
V3.3
A C++ library for computing RO(G) graded homology
|
Contains typedefs used to detect types and existence of methods. More...
Typedefs | |
template<typename T > | |
using | is_Dense = decltype(test_Dense(std::declval< T * >())) |
Detects if T is a dense matrix. More... | |
template<typename T > | |
using | is_Sparse = decltype(test_Sparse(std::declval< T * >())) |
Detects if T is a sparse matrix. More... | |
template<typename T > | |
using | is_sparse_row_major = decltype(test_SRM(std::declval< T * >())) |
Detects if T is sparse row major matrix. More... | |
template<typename T > | |
using | is_finite_cyclic = decltype(test_finite_cyclic(std::declval< T >())) |
Detects if T=Z<N> More... | |
template<typename T > | |
using | has_operator_evaluation_int_int = decltype(test_operator_evaluation_int_int< T >(0)) |
Detects if T has an operator()(int,int) More... | |
Functions | |
constexpr std::false_type | test_Dense (...) |
Detects if T is a dense matrix. More... | |
template<typename T > | |
constexpr std::true_type | test_Dense (Eigen::MatrixBase< T > *) |
Detects if T is a dense matrix. More... | |
constexpr std::false_type | test_Sparse (...) |
Detects if T is a sparse matrix. More... | |
template<typename T > | |
constexpr std::true_type | test_Sparse (Eigen::SparseMatrixBase< T > *) |
Detects if T is a sparse matrix. More... | |
constexpr std::false_type | test_SRM (...) |
Detects if T is sparse row major matrix. More... | |
template<typename T , typename S > | |
constexpr std::true_type | test_SRM (Eigen::SparseMatrix< T, 1, S > *) |
Detects if T is sparse row major matrix. More... | |
constexpr std::false_type | test_finite_cyclic (...) |
Detects if T=Z<N> More... | |
template<int64_t N, typename T > | |
constexpr std::true_type | test_finite_cyclic (Z_mod< N, T >) |
Detects if T=Z<N> More... | |
template<typename T > | |
constexpr std::false_type | test_operator_evaluation_int_int (...) |
Detects if T has an operator()(int,int) More... | |
template<typename T > | |
constexpr decltype(std::declval< T >().operator()(std::declval< int >(), std::declval< int >()), std::true_type()) | test_operator_evaluation_int_int (int) |
Detects if T has an operator()(int,int) More... | |
Contains typedefs used to detect types and existence of methods.
Only use the typedefs eg constexpr bool b= SFINAE::is_Sparse<T>::value;
using is_Dense = decltype(test_Dense(std::declval<T*>())) |
Detects if T is a dense matrix.
using is_Sparse = decltype(test_Sparse(std::declval<T*>())) |
Detects if T is a sparse matrix.
using is_sparse_row_major = decltype(test_SRM(std::declval<T*>())) |
Detects if T is sparse row major matrix.
using is_finite_cyclic = decltype(test_finite_cyclic(std::declval<T>())) |
Detects if T=Z<N>
using has_operator_evaluation_int_int = decltype(test_operator_evaluation_int_int<T>(0)) |
Detects if T has an operator()(int,int)
|
constexpr |
Detects if T is a dense matrix.
|
constexpr |
Detects if T is a dense matrix.
|
constexpr |
Detects if T is a sparse matrix.
|
constexpr |
Detects if T is a sparse matrix.
|
constexpr |
Detects if T is sparse row major matrix.
|
constexpr |
Detects if T is sparse row major matrix.
|
constexpr |
Detects if T=Z<N>
|
constexpr |
Detects if T=Z<N>
|
constexpr |
Detects if T has an operator()(int,int)
|
constexpr |
Detects if T has an operator()(int,int)