Traits.h file
Type traits for the Math module and form language.
This file defines type traits used by the form language to determine properties of mathematical types, including scalar types and result types of operations. These traits enable compile-time type deduction for variational formulations.
Namespaces
- namespace Rodin
- The Rodin library for Shape and Topology Optimization.
- namespace Rodin::FormLanguage
- Module for writing high level abstract expressions.
Classes
-
template<class T>struct Rodin::FormLanguage::IsEigenObject
- Type trait to check if a type is an Eigen object.
-
template<>struct Rodin::FormLanguage::Traits<Boolean>
- Traits specialization for Boolean type.
-
template<>struct Rodin::FormLanguage::Traits<Integer>
- Traits specialization for Integer type.
-
template<>struct Rodin::FormLanguage::Traits<Real>
- Traits specialization for Real type.
-
template<>struct Rodin::FormLanguage::Traits<Complex>
- Traits specialization for Complex type.
-
template<class LHS, class RHS>struct Rodin::FormLanguage::Sum
- Type trait for deducing the result type of addition.
-
template<class LHS, class RHS>struct Rodin::FormLanguage::Minus
- Type trait for deducing the result type of subtraction.
-
template<class Operand>struct Rodin::FormLanguage::UnaryMinus
- Type trait for deducing the result type of unary negation.
-
template<class LHS, class RHS>struct Rodin::FormLanguage::Mult
- Type trait for deducing the result type of multiplication.
-
template<class LHS, class RHS>struct Rodin::FormLanguage::Division
- Type trait for deducing the result type of division.
-
template<class LHS, class RHS>struct Rodin::FormLanguage::Dot
- Type trait for deducing the result type of dot product.