Traits.h file
Type traits for variational formulations.
This file defines type traits for extracting result types and range types from variational objects like functions and shape functions. These traits enable compile-time type deduction for form language expressions.
Namespaces
- namespace Rodin
- The Rodin library for Shape and Topology Optimization.
- namespace Rodin::FormLanguage
- Module for writing high level abstract expressions.
Classes
-
template<class Derived>struct Rodin::FormLanguage::ResultOf<Variational::FunctionBase<Derived>>
- Specialization of ResultOf for FunctionBase.
-
template<class Derived, class FES, Variational::struct Rodin::FormLanguage::ResultOf<Variational::ShapeFunctionBase<Derived, FES, Space>>
ShapeFunctionSpaceType Space> - Specialization of ResultOf for ShapeFunctionBase.
-
template<>struct Rodin::FormLanguage::RangeOf<Boolean>
- Range type for Boolean values.
-
template<>struct Rodin::FormLanguage::RangeOf<Integer>
- Range type for Integer values.
-
template<>struct Rodin::FormLanguage::RangeOf<Real>
- Range type for Real values.
-
template<>struct Rodin::FormLanguage::RangeOf<Complex>
- Range type for Complex values.
-
template<class Scalar, int Rows, int Options, int MaxRows, int MaxCols>struct Rodin::FormLanguage::RangeOf<Eigen::Matrix<Scalar, Rows, 1, Options, MaxRows, MaxCols>>
- Range type for Eigen column vectors.
-
template<class Scalar, int Rows, int Cols, int Options, int MaxRows, int MaxCols>struct Rodin::FormLanguage::RangeOf<Eigen::Matrix<Scalar, Rows, Cols, Options, MaxRows, MaxCols>>
- Range type for Eigen matrices.
-
template<class MatrixXpr>struct Rodin::FormLanguage::RangeOf
- Type trait to deduce the mathematical range type of an expression.
-
template<class Derived>struct Rodin::FormLanguage::RangeOf<Variational::FunctionBase<Derived>>
- Range type for FunctionBase.
-
template<class Derived, class FES, Variational::struct Rodin::FormLanguage::RangeOf<Variational::ShapeFunctionBase<Derived, FES, Space>>
ShapeFunctionSpaceType Space> - Range type for ShapeFunctionBase.